Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
 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));
     }
 }
Beispiel #3
0
        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));
            }
        }