示例#1
0
        public ManagerUsageSummaryClient CreateManagerUsageSummaryClient(ManagerUsageSummaryClientItem args, IEnumerable <ManagerUsageSummaryItem> items)
        {
            int    clientId = args.ClientID;
            string name     = GetClientName(args.LName, args.FName);
            string sort     = GetClientSort(args.LName, args.FName);

            var comparer = new ReportingAccountItemEqualityComparer();

            return(new ManagerUsageSummaryClient()
            {
                Name = name,
                Sort = sort,
                UsageCharge = args.TotalCharge,
                Subsidy = args.SubsidyDiscount,
                Accounts = items.Where(x => x.ClientID == clientId && (x.TotalCharge > 0 || x.SubsidyDiscount > 0 || x.Privs.HasPriv(_includeInmanagerUsageSummaryPriv))).Select(x => new ReportingAccountItem()
                {
                    AccountID = x.AccountID,
                    AccountName = x.AccountName,
                    AccountNumber = x.AccountNumber,
                    ShortCode = x.ShortCode.Trim(),
                    Project = AccountNumber.Parse(x.AccountNumber).Project,
                    OrgID = x.OrgID,
                    OrgName = x.OrgName
                }).Distinct(comparer).ToArray()
            });
        }
示例#2
0
        public string GetAccountName(string shortCode, string accountNumber, string accountName, string orgName)
        {
            string name;

            if (string.IsNullOrEmpty(shortCode.Trim()))
            {
                name = string.Format("{0} ({1})", accountName, orgName);
            }
            else
            {
                var proj = AccountNumber.Parse(accountNumber).Project;
                name = shortCode.Trim() + "/" + proj;
            }

            return(name);
        }
示例#3
0
 public AccountChartFields(IAccount acct)
 {
     _acct    = acct;
     _acctNum = AccountNumber.Parse(_acct.AccountNumber);
 }