public void GetJournalDetails(string JNo) { OptionsEntity oData = new OptionsEntity(); ISalesOrderListRepository purchaseRepository = new SalesOrderListRepository(); oData = purchaseRepository.GetOptionSettings(); string obj = JNo.ToString(); JournalForm JObj = journalRepository.GetJournalDetails(obj); this.JournalNo = JObj.JournalData.JournalNo; DateTime Dateinstr = (DateTime)JObj.JournalData.JournalDate; this.JournalDateStr = Dateinstr.ToString(oData.DateFormat); this.JournalDetailsEntity = new ObservableCollection<JGridViewModel>(); this.sumCredit =Convert.ToString(JObj.JournalaDataDetails.Sum(x => x.Credit)); this.sumDebit = Convert.ToString(JObj.JournalaDataDetails.Sum(x => x.Debit)); foreach (var item in JObj.JournalaDataDetails) { JGridViewModel pqEntity = new JGridViewModel(JournalList); pqEntity.ID = item.ID; pqEntity.JournalDateStr = item.JournalDateStr; pqEntity.Credit = item.Credit; pqEntity.Debit = item.Debit; JournalDetailsEntity.Add(pqEntity); } }
public void GetNewJpornal(object param) { this.JournalNo = "JO-" + journalRepository.GetLatestInvoiceNo(); IsNew = true; if (JournalDetailsEntity != null) { if (JournalDetailsEntity.Count > 0) { JournalDetailsEntity.Clear(); // var row = new CollectAmountDataGridViewModel(); // PQDetailsEntity.Add(row); OnPropertyChanged("JournalDetailsEntity"); } } var row = new JGridViewModel(JournalList); //row.SelectedPSID = 0; JournalDetailsEntity.Add(row); OnPropertyChanged("JournalDetailsEntity"); TempList = JournalDetailsEntity; sumCredit = null; sumDebit = null; }
public int ManageDuplicateJournalData() { int rowFocusindex = -1; //ShowAllCount = PSDetailsEntity.Where(e => e.SelectedPSID != 0).Count(); TempList = new ObservableCollection<JGridViewModel>(); TempList = JournalDetailsEntity; var query = TempList.GroupBy(x => x.ID) .Where(g => g.Count() > 1) .ToList(); if (query.Count > 0 && JournalDetailsEntity.Count > 1) { var obj1 = query[0].ElementAt(0); var obj2 = query[0].ElementAt(1); int? qty = 1; qty = query[0].ElementAt(0).CountQty + query[0].ElementAt(1).CountQty; var index1 = TempList.IndexOf(query[0].ElementAt(0)); var index2 = TempList.IndexOf(query[0].ElementAt(1)); OnPropertyChanged("JournalDetailsEntity"); TempList = JournalDetailsEntity; } else { int count = JournalDetailsEntity.Count(x => x.ID == 0); if (count == 0) { var row = new JGridViewModel(JournalList); // row.CountQty = 0; // row.GSTRate = TaxRate; JournalDetailsEntity.Add(row); OnPropertyChanged("JournalDetailsEntity"); TempList = JournalDetailsEntity; rowFocusindex = -1; } else { var emptyRow = TempList.Where(y => y.ID == 0).FirstOrDefault(); rowFocusindex = JournalDetailsEntity.IndexOf(emptyRow); } } return rowFocusindex; }
public string ValidateJournal() { string msg = string.Empty; var RequiredJournalList = JournalDetailsEntity.Take(JournalDetailsEntity.Count - 1); sumDebit =Convert.ToString(JournalDetailsEntity.Sum(x => x.Debit)); sumCredit =Convert.ToString(JournalDetailsEntity.Sum(y => y.Credit)); //var journalid = JournalDetailsEntity.Select(x => x.ID); //var creditamt = JournalDetailsEntity.Select(x => x.Credit); // var debitamt = JournalDetailsEntity.Select(x => x.Debit); if (sumCredit != sumDebit) { msg = "Total Amount of Debit and Credit should be balance"; } foreach (var item in RequiredJournalList) { var journalid = item.ID; var creditamt = item.Credit; var debitamt = item.Debit; if (journalid == null) { msg = "Data Cannot be Empty"; } else if (creditamt < 0 && debitamt == null) { msg = "Amount Shouldn't be negative"; } else if (debitamt < 0 && creditamt == null) { msg = "Amount Shouldn't be negative"; } else if (sumDebit == "0.00" && sumCredit == "0.00") { if(creditamt == null || debitamt == null) { msg = "Amount Shouldn't be empty"; } } } if(RequiredJournalList.Count() == 0) { foreach (var item in JournalDetailsEntity) { var journalid = item.ID; var creditamt = item.Credit; var debitamt = item.Debit; if (journalid == null) { msg = "Data Cannot be Empty"; } else if (creditamt < 0 && debitamt == null) { msg = "Amount Shouldn't be negative"; } else if (debitamt < 0 && creditamt == null) { msg = "Amount Shouldn't be negative"; } else if (sumDebit == "0.00" && sumCredit == "0.00") { if (creditamt == null || debitamt == null) { msg = "Amount Shouldn't be empty"; } } } } if (IsNew == true) { if (!string.IsNullOrEmpty(JournalNo)) { if (journalRepository.IsChequeNoPresent(JournalNo)) { return msg = "Entry against Cheque No is already done"; } } } return msg; }