Esempio n. 1
0
 private void LoadSelectedCapex()
 {
     if (SelectedCapex != null)
     {
         CapexAccountsList.Clear();
         StatusSumList.Clear();
         var query = from a in AccountsList
                     where a.AccountsStatusDetailsSets.LastOrDefault().AccountStatus != Statuses.InCancel &&
                     a.AccountsCapexInfoSets.Any(c => c.CapexId == SelectedCapex.Capex.Id)
                     select new AccountsWithStatus {
             Account = a, Status = a.AccountsStatusDetailsSets.LastOrDefault(), StoresList = _storesList.Where(s => a.AccountsStoreDetailsSets.Any(store => store.AccountStore == s.StoreNumber)).ToList()
         };
         var groups = from a in AccountsList
                      where a.AccountsStatusDetailsSets.LastOrDefault().AccountStatus != Statuses.InCancel &&
                      a.AccountsCapexInfoSets.Any(c => c.CapexId == SelectedCapex.Capex.Id)
                      group a by a.AccountsStatusDetailsSets.LastOrDefault().AccountStatus into status
                      select new StatusSum
         {
             Status = status.Key, Sum = status.Sum(s => s.AccountsCapexInfoSets.Where(c => c.CapexId == SelectedCapex.Capex.Id).Sum(c => c.AccountCapexAmount))
         };
         foreach (var item in query)
         {
             CapexAccountsList.Add(item);
         }
         foreach (var item in groups)
         {
             StatusSumList.Add(item);
         }
     }
 }
Esempio n. 2
0
 private void LoadCapex()
 {
     if (SelectedYear != 0)
     {
         CapexList.Clear();
         CapexAccountsList.Clear();
         StatusSumList.Clear();
         foreach (var capex in FullCapexList.Where(f => f.CapexYear == SelectedYear))
         {
             var capexWithRest = new CapexWithRest();
             capexWithRest.Capex = capex;
             var sum = AccountsList.Where(a => a.AccountsStatusDetailsSets.LastOrDefault().AccountStatus != Statuses.InCancel).Sum(a => a.AccountsCapexInfoSets.Where(c => c.CapexId == capex.Id).Sum(c => c.AccountCapexAmount));
             if (capex.CapexAmount == 0)
             {
                 capexWithRest.Rest = sum;
                 capexWithRest.Pay  = 100;
             }
             else
             {
                 capexWithRest.Rest = capex.CapexAmount - sum;
                 capexWithRest.Pay  = sum == 0 ? 0 : Convert.ToInt32(sum * 100 / capex.CapexAmount);
             }
             capexWithRest.PaySum = sum;
             CapexList.Add(capexWithRest);
         }
     }
 }