public ActionResult DeletePurchasePaymentHistoryByID(GetDetailsByID getByid) { try { PurchasePaymentHistory pphd = db.PurchasePaymentHistory.Find(getByid.id); AccountList AccountList = db.AccountList.Find(pphd.AccountListID); pphd.DeleteBy = AppUtils.GetLoginUserID(); pphd.DeleteDate = AppUtils.GetDateTimeNow(); pphd.Status = AppUtils.TableStatusIsDelete; db.SaveChanges(); AccountList.InitialBalance += Convert.ToDecimal(pphd.PaymentAmount); AccountList.UpdateBy = AppUtils.GetLoginUserID(); AccountList.UpdateDate = AppUtils.GetDateTimeNow(); db.SaveChanges(); Purchase purchase = db.Purchase.Find(pphd.PurchaseID); purchase.PurchasePayment -= pphd.PaymentAmount; db.SaveChanges(); AccountingHistory accountingHistory = new AccountingHistory(); //Mode 1 mean Create 2 mean Update SetInformationForAccountHistory(ref accountingHistory, pphd, 1); db.AccountingHistory.Add(accountingHistory); db.SaveChanges(); return(Json(new { DeleteStatus = true, PaymentStatus = GetPaymentStatus(pphd.Status), DeleteBy = db.Employee.Find(pphd.DeleteBy).LoginName, DeleteDate = pphd.DeleteDate }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { DeleteStatus = false, }, JsonRequestBehavior.AllowGet)); } }
public ActionResult GetPurchaseDuePaymentDetails(GetDetailsByID getDetailsByID) { if (getDetailsByID != null) { Purchase purchase = db.Purchase.Find(getDetailsByID.id); VM_Purchase_Payment vM_Purchase_Payment = new VM_Purchase_Payment(); vM_Purchase_Payment.PaidAmount = purchase.PurchasePayment; vM_Purchase_Payment.TotalAmount = purchase.Total; vM_Purchase_Payment.SubTotalAmount = purchase.SubTotal; vM_Purchase_Payment.DueAmount = vM_Purchase_Payment.SubTotalAmount - vM_Purchase_Payment.PaidAmount; vM_Purchase_Payment.Payee = db.Supplier.Find(purchase.SupplierID).SupplierName; return(Json(new { success = true, paymentamount = vM_Purchase_Payment })); } else { return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); } }
public ActionResult DeletePurchaseByID(GetDetailsByID getByid) { try {//we are deleting the purchase information but data will and remaining same for purchase and refunding the amount to his own account mean in AccountList Table Purchase purchase = db.Purchase.Find(getByid.id); purchase.DeleteBy = AppUtils.GetLoginUserID(); purchase.DeleteDate = AppUtils.GetDateTimeNow(); purchase.Status = AppUtils.TableStatusIsDelete; db.SaveChanges(); var lstPurchasePaymentDetails = db.Purchase.Where(x => x.PurchaseID == purchase.PurchaseID) .GroupJoin(db.PurchasePaymentHistory.Where(x => x.Status != AppUtils.TableStatusIsDelete), ph => ph.PurchaseID, pph => pph.PurchaseID, (ph, pph) => new { ph = ph, pph = pph.GroupBy(x => x.AccountListID) }) .ToList(); foreach (var purchasePaymentInGroup in lstPurchasePaymentDetails) { foreach (var purchasePament in purchasePaymentInGroup.pph) { AccountList accountList = db.AccountList.Find(purchasePament.FirstOrDefault().AccountListID); accountList.InitialBalance += Convert.ToDecimal(purchasePament.ToList().Sum(x => x.PaymentAmount)); foreach (var paymentHistory in purchasePament) { paymentHistory.DeleteByParent = true; } db.SaveChanges(); } } return(Json(new { DeleteStatus = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { DeleteStatus = false, }, JsonRequestBehavior.AllowGet)); } }