public void AddPaymentDetail(dtoPaymentDetail t) { var paymentDetail = new tbl_paymentDetails() { paymentId = t.paymentId, paymentPrice = t.paymentPrice, documentId = t.documentId, dateCreated = DateTime.Now, createdBy = t.createdBy, }; DBContext.tbl_paymentDetails.Add(paymentDetail); DBContext.SaveChanges(); }
public dtoResult SavePaymentTransaction(dtoPayment Header, List<dtoPaymentDetail> Details) { int? originalPaymentId = Header.paymentId; var respose = new dtoResult { isSuccessful = true }; try { if (Header.paymentId == null || Header.paymentId == 0) { Insert(ref Header); } else { //Update Header Update(Header); //Delete Removed details. var updatedIds = Details.Where(i => i.paymentDetailsId != null).Select(i => i.paymentDetailsId).ToList(); var deletedDetails = DBContext.tbl_paymentDetails.Where(l => l.paymentId == originalPaymentId && !updatedIds.Contains(l.paymentDetailsId)); foreach (var del in deletedDetails) { DBContext.tbl_paymentDetails.Remove(del); } } foreach (var item in Details) { if (originalPaymentId == null || originalPaymentId == 0) { var objDT = new tbl_paymentDetails { paymentId = Header.paymentId, documentId = item.documentId, paymentPrice = item.paymentPrice, createdBy = 1, dateCreated = DateTime.Now }; DBContext.tbl_paymentDetails.Add(objDT); DBContext.SaveChanges(); } else { if (item.paymentDetailsId != null || item.paymentDetailsId > 0) { var objDT = DBContext.tbl_paymentDetails.FirstOrDefault(d => d.paymentDetailsId == item.paymentDetailsId); objDT.paymentId = Header.paymentId; objDT.documentId = item.documentId; objDT.paymentPrice = item.paymentPrice; objDT.lastModifiedBy = 1; objDT.dateLastModified = DateTime.Now; DBContext.SaveChanges(); } else { var objDT = new tbl_paymentDetails { paymentId = Header.paymentId, documentId = item.documentId, paymentPrice = item.paymentPrice, createdBy = 1, dateCreated = DateTime.Now }; DBContext.tbl_paymentDetails.Add(objDT); DBContext.SaveChanges(); } } } DBContext.SaveChanges(); } catch (Exception ex) { respose.isSuccessful = false; respose.errorMsg = ex.Message; } return respose; }