| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using WeEngine.Packages;
- namespace WeEngine.CommonDto.WeInfo
- {
- public class WeRoleDto
- {
- public WeRoleDto()
- {
- }
- public WeRoleDto(string roles)
- {
- var arr = roles.Split(':');
- RoleNo = arr[0];
- if (arr.Length > 1)
- {
- RoleName = arr[1];
- }
- if (arr.Length > 2)
- {
- RoleWeight = int.TryParse(arr[2], out var w) ? w : 0;
- }
- if (arr.Length > 3)
- {
- TotalWeight = int.TryParse(arr[3], out var w) ? w : 0;
- }
- }
- public WeRoleDto(string roleNo, string roleName, decimal roleWeight, decimal totalWeight)
- {
- RoleNo = roleNo;
- RoleName = roleName;
- RoleWeight = roleWeight;
- TotalWeight = totalWeight;
- }
- public string RoleNo { get; set; }
- public string RoleName { get; set; }
- public decimal RoleWeight { get; set; }
- public decimal TotalWeight { get; set; }
- public decimal RolePer => Math.Round(TotalWeight == 0 ? 0 : RoleWeight * 100 / TotalWeight, 2);
- public static WeRoleDto DtoFrom(string roles)
- {
- var node = new RoleNode();
- var arr = roles.Split(':');
- node.RoleNo = arr[0];
- if (arr.Length > 1)
- {
- node.RoleName = arr[1];
- }
- if (arr.Length > 2)
- {
- node.SetWeight(int.TryParse(arr[2], out var w) ? w : 0);
- }
- if (arr.Length > 3)
- {
- node.SetTotalWeight(int.TryParse(arr[3], out var w) ? w : 0);
- }
- return new WeRoleDto(node.RoleNo, node.RoleName, node.RoleWeight, node.TotalWeight);
- }
- public override string ToString()
- {
- return new RoleNode(RoleNo, RoleName, RoleWeight, TotalWeight).ToString();
- }
- }
- }
|