private void GetClientAccountsMethod() { SelectedClientAccount = new ClientAccountVM(); SelectedClientAccount.TotalCredit = clientAccounts.Where(w => w.ClientID == _selectedClient.ID && w.Date >= _dateFrom && w.Date <= _dateTo).Sum(d => d.Credit); if (SelectedClientAccount.TotalCredit == null) { SelectedClientAccount.TotalCredit = 0; } SelectedClientAccount.TotalDebit = clientAccounts.Where(w => w.ClientID == _selectedClient.ID && w.Date >= _dateFrom && w.Date <= _dateTo).Sum(d => d.Debit); if (SelectedClientAccount.TotalDebit == null) { SelectedClientAccount.TotalDebit = 0; } SelectedClientAccount.DuringAccount = SelectedClientAccount.TotalCredit - SelectedClientAccount.TotalDebit; SelectedClientAccount.CurrentAccount = _selectedClient.AccountStart + clientAccounts.Where(w => w.ClientID == _selectedClient.ID).Sum(d => d.Credit) - clientAccounts.Where(w => w.ClientID == _selectedClient.ID).Sum(d => d.Debit); SelectedClientAccount.OldAccount = SelectedClientAccount.CurrentAccount - SelectedClientAccount.DuringAccount; ClientAccounts = new ObservableCollection <ClientAccount>(clientAccounts.Where(w => w.ClientID == _selectedClient.ID && w.Date >= _dateFrom && w.Date <= _dateTo).OrderByDescending(o => o.RegistrationDate).ToList()); }
public ClientAccountVM GetAccountInfo(int clientID, DateTime dtFrom, DateTime dtTo) { using (SalesDB db = new SalesDB()) { ClientServices clientServ = new ClientServices(); var client = clientServ.GetClient(clientID); ClientAccountVM accountVM = new ClientAccountVM(); accountVM.WithoutTotalCredit = db.ClientsAccounts.Where(w => w.ClientID == clientID && !w.Statement.Contains("خصومات") && w.Date >= dtFrom && w.Date <= dtTo).Sum(d => d.Credit); if (accountVM.WithoutTotalCredit == null) { accountVM.WithoutTotalCredit = 0; } accountVM.WithoutTotalDebit = db.ClientsAccounts.Where(w => w.ClientID == clientID && !w.Statement.Contains("خصومات") && w.Date >= dtFrom && w.Date <= dtTo).Sum(d => d.Debit); if (accountVM.WithoutTotalDebit == null) { accountVM.WithoutTotalDebit = 0; } accountVM.WithoutDuringAccount = accountVM.WithoutTotalCredit - accountVM.WithoutTotalDebit; accountVM.WithoutCurrentAccount = client.AccountStart + db.ClientsAccounts.Where(w => w.ClientID == clientID && !w.Statement.Contains("خصومات")).Sum(d => d.Credit) - db.ClientsAccounts.Where(w => w.ClientID == clientID && !w.Statement.Contains("خصومات")).Sum(d => d.Debit); accountVM.WithoutOldAccount = accountVM.WithoutCurrentAccount - accountVM.WithoutDuringAccount; accountVM.DiscountTotalCredit = db.ClientsAccounts.Where(w => w.ClientID == clientID && w.Statement.Contains("خصومات") && w.Date >= dtFrom && w.Date <= dtTo).Sum(d => d.Credit); if (accountVM.DiscountTotalCredit == null) { accountVM.DiscountTotalCredit = 0; } accountVM.DiscountTotalDebit = db.ClientsAccounts.Where(w => w.ClientID == clientID && w.Statement.Contains("خصومات") && w.Date >= dtFrom && w.Date <= dtTo).Sum(d => d.Debit); if (accountVM.DiscountTotalDebit == null) { accountVM.DiscountTotalDebit = 0; } accountVM.DiscountDuringAccount = accountVM.DiscountTotalCredit - accountVM.DiscountTotalDebit; accountVM.DiscountCurrentAccount = db.ClientsAccounts.Where(w => w.ClientID == clientID && w.Statement.Contains("خصومات")).Sum(d => d.Credit) - db.ClientsAccounts.Where(w => w.ClientID == clientID && w.Statement.Contains("خصومات")).Sum(d => d.Debit); accountVM.DiscountOldAccount = accountVM.DiscountCurrentAccount - accountVM.DiscountDuringAccount; decimal?_discount = db.ClientsAccounts.Where(w => w.ClientID == clientID && w.Statement.Contains("خصومات")).Sum(d => d.Credit); if (_discount == null) { _discount = 0; } accountVM.CurrentAccount = accountVM.WithoutCurrentAccount - _discount; return(accountVM); } }