public bool Payment_Save(BLL.Payment PO) { try { DAL.Payment d = DB.Payments.Where(x => x.Id == PO.Id).FirstOrDefault(); if (d == null) { d = new DAL.Payment(); DB.Payments.Add(d); PO.toCopy <DAL.Payment>(d); foreach (var b_pod in PO.PDetails) { DAL.PaymentDetail d_pod = new DAL.PaymentDetail(); b_pod.toCopy <DAL.PaymentDetail>(d_pod); d.PaymentDetails.Add(d_pod); } DB.SaveChanges(); PO.Id = d.Id; LogDetailStore(PO, LogDetailType.INSERT); } else { //foreach (var d_pod in d.PaymentDetails.ToList()) //{ // BLL.PaymentDetail b_pod = PO.PDetails.Where(x => x.Id == d_pod.Id).FirstOrDefault(); // if (b_pod == null) d.PaymentDetails.Remove(d_pod); //} decimal pdId = PO.PDetails.Select(x => x.PaymentId).FirstOrDefault(); DB.PaymentDetails.RemoveRange(d.PaymentDetails.Where(x => x.PaymentId == pdId).ToList()); PO.toCopy <DAL.Payment>(d); foreach (var b_pod in PO.PDetails) { DAL.PaymentDetail d_pod = d.PaymentDetails.Where(x => x.Id == b_pod.Id).FirstOrDefault(); if (d_pod == null) { d_pod = new DAL.PaymentDetail(); d.PaymentDetails.Add(d_pod); } b_pod.toCopy <DAL.PaymentDetail>(d_pod); } DB.SaveChanges(); LogDetailStore(PO, LogDetailType.UPDATE); } Clients.Clients(OtherLoginClientsOnGroup).Payment_RefNoRefresh(Payment_NewRefNo(DateTime.Now)); //Journal_SaveByPayment(PO); return(true); } catch (Exception ex) { } return(false); }
public BLL.Payment Payment_DALtoBLL(DAL.Payment d) { BLL.Payment P = d.toCopy <BLL.Payment>(new BLL.Payment()); foreach (var d_Pd in d.PaymentDetails) { P.PDetails.Add(d_Pd.toCopy <BLL.PaymentDetail>(new BLL.PaymentDetail())); } return(P); }
public void InsertNewPayment(PaymentViewModel payVM) { var newPayment = new DAL.Payment(); newPayment.Description = payVM.Description; newPayment.DueDate = payVM.DueDate; newPayment.Expense = payVM.Expense; newPayment.InterestRate = payVM.InterestRate; newPayment.MonthlyEstDues = payVM.MonthlyEstimatedDues; newPayment.Timestamp = DateTime.Now; _db.Payments.Add(newPayment); _db.SaveChanges(); }
public bool Find_EntryNo(string entryNo, BLL.Payment PO) { DAL.Payment d = DB.Payments.Where(x => x.EntryNo == entryNo & x.Id != PO.Id && x.Ledger.AccountGroup.CompanyId == Caller.CompanyId).FirstOrDefault(); if (d == null) { return(false); } else { return(true); } }
public bool Payment_Delete(long pk) { try { DAL.Payment d = DB.Payments.Where(x => x.Id == pk).FirstOrDefault(); if (d != null) { var P = Payment_DALtoBLL(d); DB.PaymentDetails.RemoveRange(d.PaymentDetails); DB.Payments.Remove(d); DB.SaveChanges(); LogDetailStore(P, LogDetailType.DELETE); // Journal_DeleteByPayment(P); } return(true); } catch (Exception ex) { } return(false); }
public BLL.Payment Payment_Find(string SearchText) { BLL.Payment PO = new BLL.Payment(); try { DAL.Payment d = DB.Payments.Where(x => x.EntryNo == SearchText && x.Ledger.AccountGroup.CompanyId == Caller.CompanyId).FirstOrDefault(); DB.Entry(d).Reload(); if (d != null) { d.toCopy <BLL.Payment>(PO); PO.LedgerName = (d.Ledger ?? DB.Ledgers.Find(d.LedgerId) ?? new DAL.Ledger()).LedgerName; foreach (var d_pod in d.PaymentDetails) { BLL.PaymentDetail b_pod = new BLL.PaymentDetail(); d_pod.toCopy <BLL.PaymentDetail>(b_pod); PO.PDetails.Add(b_pod); b_pod.LedgerName = (d_pod.Ledger ?? DB.Ledgers.Find(d_pod.LedgerId) ?? new DAL.Ledger()).LedgerName; } } } catch (Exception ex) { } return(PO); }