Beispiel #1
0
        public ActionResult UpdateInitialBalance(AccountList accountlist)
        {
            try
            {
                AccountList Account = new AccountList();
                Account = db.AccountList.Find(accountlist.AccountListID);
                Account.InitialBalance  = accountlist.InitialBalance;
                Account.UpdateBy        = AppUtils.GetLoginUserID();
                Account.UpdateDate      = AppUtils.GetDateTimeNow();
                db.Entry(Account).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();


                AccountingHistory accountingHistory = db.AccountingHistory.Where(x => x.AccountListID == accountlist.AccountListID).FirstOrDefault();
                //Mode 1 mean Create 2 mean Update
                SetInformationForAccountHistory(ref accountingHistory, accountlist, 2);
                db.Entry(accountingHistory).State = EntityState.Modified;
                db.SaveChanges();

                var JSON = Json(new { success = true }, JsonRequestBehavior.AllowGet);
                JSON.MaxJsonLength = int.MaxValue;
                return(JSON);
            }
            catch (Exception ex)
            {
                return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #2
0
        private void SetInformationForAccountHistory(ref AccountingHistory accountingHistory, AccountList accountlist, int CreateOrUpdate)
        {
            DateTime dt = AppUtils.GetDateTimeNow();

            accountingHistory.Amount = Convert.ToDouble(accountlist.InitialBalance.Value);
            if (CreateOrUpdate == 1)//mean create
            {
                accountingHistory.AccountListID = accountlist.AccountListID;
                accountingHistory.ActionTypeID  = (int)AppUtils.AccountingHistoryType.AccountList;
                accountingHistory.Date          = AppUtils.GetDateTimeNow();
                accountingHistory.DRCRTypeID    = (int)AppUtils.AccountTransactionType.CR;
                accountingHistory.Description   = "Capital Balance";
                accountingHistory.Year          = dt.Year;
                accountingHistory.Month         = dt.Month;
                accountingHistory.Day           = dt.Day;
                accountingHistory.CreateBy      = AppUtils.GetLoginUserID();
                accountingHistory.CreateDate    = dt;
                accountingHistory.Status        = AppUtils.TableStatusIsActive;
            }
            else
            {
                accountingHistory.UpdateBy   = AppUtils.GetLoginUserID();
                accountingHistory.UpdateDate = dt;
            }
        }
Beispiel #3
0
        public ActionResult CreateConfirm(AccountList accountlist)
        {
            var dbAccounlist = db.AccountList.Where(s => s.AccountTitle == accountlist.AccountTitle).FirstOrDefault();

            if (dbAccounlist != null)
            {
                return(Json(new { nameExist = true }));
            }

            try
            {
                accountlist.CreateBy   = AppUtils.GetLoginUserID();
                accountlist.CreateData = AppUtils.GetDateTimeNow();
                accountlist.Status     = AppUtils.TableStatusIsActive;
                db.AccountList.Add(accountlist);
                db.SaveChanges();

                AccountingHistory accountingHistory = new AccountingHistory();
                //Mode 1 mean Create 2 mean Update
                SetInformationForAccountHistory(ref accountingHistory, accountlist, 1);
                db.AccountingHistory.Add(accountingHistory);
                db.SaveChanges();

                return(Json(new { success = true }));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false }));
            }
        }
Beispiel #4
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 #5
0
        private void SetInformationForAccountHistory(ref AccountingHistory accountingHistory, PurchasePaymentHistory PurchasePaymentHistory, int CreateOrUpdate)
        {
            DateTime dt = AppUtils.GetDateTimeNow();

            accountingHistory.Amount = Convert.ToDouble(PurchasePaymentHistory.PaymentAmount);
            if (CreateOrUpdate == 1)//mean create
            {
                accountingHistory.PurchaseID   = PurchasePaymentHistory.PurchaseID;
                accountingHistory.ActionTypeID = (int)AppUtils.AccountingHistoryType.Purchase;
                accountingHistory.Date         = AppUtils.GetDateTimeNow();
                accountingHistory.DRCRTypeID   = (int)AppUtils.AccountTransactionType.DR;
                accountingHistory.Description  = PurchasePaymentHistory.Description;
                accountingHistory.Year         = dt.Year;
                accountingHistory.Month        = dt.Month;
                accountingHistory.Day          = dt.Day;
                accountingHistory.CreateBy     = AppUtils.GetLoginUserID();
                accountingHistory.CreateDate   = dt;
                accountingHistory.Status       = AppUtils.TableStatusIsActive;
            }
            else
            {
                accountingHistory.UpdateBy   = AppUtils.GetLoginUserID();
                accountingHistory.UpdateDate = dt;
            }
        }
Beispiel #6
0
        public ActionResult DeleteExpense(int ID)
        {
            try
            {
                var Expense = db.Expenses.Where(s => s.ExpenseID == ID).FirstOrDefault();
                Expense.DeleteBy        = AppUtils.GetLoginUserID();
                Expense.DeleteDate      = AppUtils.GetDateTimeNow();
                Expense.Status          = AppUtils.TableStatusIsDelete;
                db.Entry(Expense).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                AccountingHistory accountingHistory = db.AccountingHistory.Where(x => x.ExpenseID == Expense.ExpenseID).FirstOrDefault();
                accountingHistory.Status = AppUtils.TableStatusIsDelete;
                db.SaveChanges();

                var JSON = Json(new { success = true }, JsonRequestBehavior.AllowGet);
                JSON.MaxJsonLength = int.MaxValue;
                return(JSON);
            }
            catch (Exception ex)
            {
                var JSON = Json(new { success = false }, JsonRequestBehavior.AllowGet);
                JSON.MaxJsonLength = int.MaxValue;
                return(JSON);
            }
        }
Beispiel #7
0
        public ActionResult UpdateExpense(FormCollection form, HttpPostedFileBase ExpenseUpdateImage)
        {
            Expense Expense_Details = JsonConvert.DeserializeObject <Expense>(form["Expense_details"]);
            Expense Expense_Db      = db.Expenses.Where(s => s.ExpenseID == Expense_Details.ExpenseID).FirstOrDefault();

            try
            {
                AddGivenImageInCurrentRow(ref Expense_Db, Expense_Details, "DescriptionFile", ExpenseUpdateImage, form["DescriptionFilePath"]);

                if (Expense_Db.ExpenseID > 0)
                {
                    SetClientExpenseToDatabaseDB(ref Expense_Db, Expense_Details);
                    db.Entry(Expense_Db).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    AccountingHistory accountingHistory = db.AccountingHistory.Where(x => x.DepositID == Expense_Db.ExpenseID).FirstOrDefault();
                    //Mode 1 mean Create 2 mean Update
                    SetInformationForAccountHistory(ref accountingHistory, Expense_Db, 2);
                    db.AccountingHistory.Add(accountingHistory);
                    db.SaveChanges();

                    return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #8
0
        public ActionResult InsertNewExpense(FormCollection form, HttpPostedFileBase DescriptionImage)
        {
            Expense ExpenseInfo   = JsonConvert.DeserializeObject <Expense>(form["NewExpenseInformation"]);
            Expense ExpenseReturn = new Expense();

            try
            {
                ExpenseInfo.Status     = AppUtils.TableStatusIsActive;
                ExpenseInfo.CreateBy   = AppUtils.GetLoginUserID();
                ExpenseInfo.CreateDate = AppUtils.GetDateTimeNow();
                ExpenseReturn          = db.Expenses.Add(ExpenseInfo);
                db.SaveChanges();
                if (DescriptionImage != null)
                {
                    SaveImageInFolderAndAddInformationInVendorTable(ref ExpenseInfo, "DescriptionFile", DescriptionImage);
                }
                if (ExpenseReturn.ExpenseID > 0)
                {
                    db.SaveChanges();

                    AccountingHistory accountingHistory = new AccountingHistory();
                    //Mode 1 mean Create 2 mean Update
                    SetInformationForAccountHistory(ref accountingHistory, ExpenseReturn, 1);
                    db.AccountingHistory.Add(accountingHistory);
                    db.SaveChanges();

                    return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #9
0
        public ActionResult SavePurchasePayment(PurchasePaymentHistory pph)
        {
            AccountList accountList = db.AccountList.Find(pph.AccountListID);

            if (Convert.ToDouble(accountList.InitialBalance.Value) < pph.PaymentAmount)
            {
                return(Json(new { Success = false, Message = "Sorry This Account Does Not Have Suffiecient Balance ." }, JsonRequestBehavior.AllowGet));
            }
            accountList.InitialBalance -= Convert.ToDecimal(pph.PaymentAmount);
            db.SaveChanges();
            DateTime dt = new DateTime();

            pph.PurchasePaymentDate = pph.PurchasePaymentDate.AddHours(dt.Hour).AddMinutes(dt.Minute).AddSeconds(dt.Second);
            pph.Status     = AppUtils.TableStatusIsActive;
            pph.CreateBy   = AppUtils.GetLoginUserID();
            pph.CreateDate = AppUtils.GetDateTimeNow();

            db.PurchasePaymentHistory.Add(pph);
            db.SaveChanges();

            Purchase purchase = db.Purchase.Where(x => x.PurchaseID == pph.PurchaseID).FirstOrDefault();

            purchase.PurchasePayment += pph.PaymentAmount;
            //db.Entry(purchase).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();


            AccountingHistory accountingHistory = new AccountingHistory();

            //Mode 1 mean Create 2 mean Update
            SetInformationForAccountHistory(ref accountingHistory, pph, 1);
            db.AccountingHistory.Add(accountingHistory);
            db.SaveChanges();

            return(Json(new { Success = true, Message = "Purchase Payment Added Successfully.", DueAmount = purchase.SubTotal - purchase.PurchasePayment, PaymentStatus = purchase.SubTotal > purchase.PurchasePayment ? "Pending" : "Paid" }, JsonRequestBehavior.AllowGet));
        }
Beispiel #10
0
        public ActionResult SavePurchase(VM_PurchaseAndDetails VM_PurchaseAndDetails)
        {
            if (VM_PurchaseAndDetails.purchase.PurchaseID == 0)
            {
                Purchase purchase = db.Purchase.Where(x => x.InvoiceID.ToLower().ToString() == VM_PurchaseAndDetails.purchase.InvoiceID.ToLower().ToString()).FirstOrDefault();
                if (purchase != null)
                {
                    return(Json(new { Success = false, Message = "Sorry Invoice Id Already Exist. Please Add Different One." }, JsonRequestBehavior.AllowGet));
                }
                if (VM_PurchaseAndDetails.purchasedeatils.Count() == 0)
                {
                    return(Json(new { Success = false, Message = "Add Item In Purchsase List." }, JsonRequestBehavior.AllowGet));
                }

                VM_PurchaseAndDetails.purchase.Total = VM_PurchaseAndDetails.purchasedeatils.Sum(x => x.Price);
                //if (VM_PurchaseAndDetails.purchase.DiscountPercentOrFixedAmount > 0)
                //{
                //    if (VM_PurchaseAndDetails.purchase.DiscountType == 1)
                //    {
                //        VM_PurchaseAndDetails.purchase.DiscountAmount = (VM_PurchaseAndDetails.purchase.Total / 100) * VM_PurchaseAndDetails.purchase.DiscountPercentOrFixedAmount;
                //    }
                //    else
                //    {
                //        VM_PurchaseAndDetails.purchase.DiscountAmount = VM_PurchaseAndDetails.purchase.DiscountPercentOrFixedAmount;
                //    }
                //}
                if (VM_PurchaseAndDetails.purchase.Discount > 0)
                {
                    if (VM_PurchaseAndDetails.purchase.DiscountType == 1)
                    {
                        VM_PurchaseAndDetails.purchase.DiscountAmount = (VM_PurchaseAndDetails.purchase.Total / 100) * VM_PurchaseAndDetails.purchase.Discount;
                    }
                    else
                    {
                        VM_PurchaseAndDetails.purchase.DiscountAmount = VM_PurchaseAndDetails.purchase.Discount;
                    }
                }
                VM_PurchaseAndDetails.purchase.SubTotal = VM_PurchaseAndDetails.purchase.Total - VM_PurchaseAndDetails.purchase.DiscountAmount;
                if (VM_PurchaseAndDetails.purchase.IssuedAt.Year == 1)
                {
                    VM_PurchaseAndDetails.purchase.IssuedAt = AppUtils.GetDateNow();
                }
                VM_PurchaseAndDetails.purchase.Status     = AppUtils.TableStatusIsActive;
                VM_PurchaseAndDetails.purchase.CreateBy   = AppUtils.GetLoginUserID();
                VM_PurchaseAndDetails.purchase.CreateDate = AppUtils.GetDateTimeNow();

                db.Purchase.Add(VM_PurchaseAndDetails.purchase);
                db.SaveChanges();

                if (VM_PurchaseAndDetails.purchase.PurchaseID > 0)
                {
                    foreach (var item in VM_PurchaseAndDetails.purchasedeatils)
                    {
                        item.PurchaseID = VM_PurchaseAndDetails.purchase.PurchaseID;
                        item.Status     = AppUtils.TableStatusIsActive;
                        item.CreateBy   = AppUtils.GetLoginUserID();
                        item.CreateDate = AppUtils.GetDateTimeNow();
                    }
                    db.PurchaseDeatils.AddRange(VM_PurchaseAndDetails.purchasedeatils);
                    db.SaveChanges();

                    AccountingHistory accountingHistory = new AccountingHistory();
                    //Mode 1 mean Create 2 mean Update
                    SetInformationForAccountHistory(ref accountingHistory, VM_PurchaseAndDetails.purchase, 1);
                    db.AccountingHistory.Add(accountingHistory);
                    db.SaveChanges();
                }
                return(Json(new { Type = "create", Success = true, Message = "Purchase Saved Successfully." }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                Purchase purchase = db.Purchase.Where(x => x.InvoiceID.ToLower().ToString() == VM_PurchaseAndDetails.purchase.InvoiceID.ToLower().ToString() && x.PurchaseID != VM_PurchaseAndDetails.purchase.PurchaseID).FirstOrDefault();
                if (purchase != null)
                {
                    return(Json(new { Success = false, Message = "Sorry Invoice Id Already Exist. Please Add Different One." }, JsonRequestBehavior.AllowGet));
                }
                if (VM_PurchaseAndDetails.purchasedeatils.Count() == 0)
                {
                    return(Json(new { Success = false, Message = "Add Item In Purchsase List." }, JsonRequestBehavior.AllowGet));
                }

                Purchase purchaseDB = db.Purchase.Where(x => x.PurchaseID == VM_PurchaseAndDetails.purchase.PurchaseID).FirstOrDefault();
                List <PurchaseDeatils> lstNewPurchaseDetails = VM_PurchaseAndDetails.purchasedeatils.Where(x => x.PurchaseDeatilsID == 0).ToList();
                List <PurchaseDeatils> lstOldPurchaseDeatils = VM_PurchaseAndDetails.purchasedeatils.Where(x => x.PurchaseDeatilsID > 0).ToList();

                //deleting item if delete from client
                List <int>             lstOldPurchaseDetails    = lstOldPurchaseDeatils.Select(x => x.PurchaseDeatilsID).ToList();
                List <PurchaseDeatils> lstDeletePurchaseDetails = db.PurchaseDeatils
                                                                  .Where(x => !lstOldPurchaseDetails.Contains(x.PurchaseDeatilsID) && x.PurchaseID == VM_PurchaseAndDetails.purchase.PurchaseID && x.Status != AppUtils.TableStatusIsDelete).ToList();
                if (lstDeletePurchaseDetails.Count() > 0)
                {
                    lstDeletePurchaseDetails.ForEach(x => { x.Status = AppUtils.TableStatusIsDelete; x.DeleteBy = AppUtils.GetLoginUserID(); x.DeleteDate = AppUtils.GetDateTimeNow(); });
                    db.SaveChanges();
                }
                //delete done

                // Updating Part
                foreach (var item in lstOldPurchaseDeatils)
                {
                    var purchaseDetails = db.PurchaseDeatils.Where(x => x.PurchaseDeatilsID == item.PurchaseDeatilsID).FirstOrDefault();
                    purchaseDetails.Serial          = item.Serial;
                    purchaseDetails.Price           = item.Price;
                    purchaseDetails.HasWarrenty     = item.HasWarrenty;
                    purchaseDetails.WarrentyStart   = item.WarrentyStart;
                    purchaseDetails.WarrentyEnd     = item.WarrentyEnd;
                    purchaseDetails.UpdateBy        = AppUtils.GetLoginUserID();
                    purchaseDetails.UpdateDate      = AppUtils.GetDateTimeNow();
                    db.Entry(purchaseDetails).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
                // Update Done

                //Create New Details In Purchase
                foreach (var item in lstNewPurchaseDetails)
                {
                    item.PurchaseID = VM_PurchaseAndDetails.purchase.PurchaseID;
                    item.CreateBy   = AppUtils.GetLoginUserID();
                    item.CreateDate = AppUtils.GetDateTimeNow();
                    db.PurchaseDeatils.Add(item);
                    db.SaveChanges();
                }
                //Create Done

                //Updating Purchase
                purchaseDB.Total = VM_PurchaseAndDetails.purchasedeatils.Where(x => x.Status != AppUtils.TableStatusIsDelete).Sum(x => x.Price);

                //if (VM_PurchaseAndDetails.purchase.DiscountType == 1)
                //{
                //    purchaseDB.DiscountPercentOrFixedAmount = Math.Round(VM_PurchaseAndDetails.purchase.DiscountPercentOrFixedAmount);
                //    purchaseDB.DiscountAmount = Math.Round((purchaseDB.Total / 100) * VM_PurchaseAndDetails.purchase.DiscountPercentOrFixedAmount);
                //}
                //else
                //{
                //    purchaseDB.DiscountPercentOrFixedAmount = Math.Round(VM_PurchaseAndDetails.purchase.DiscountPercentOrFixedAmount);
                //    purchaseDB.DiscountAmount = Math.Round(VM_PurchaseAndDetails.purchase.DiscountPercentOrFixedAmount);
                //}

                if (VM_PurchaseAndDetails.purchase.Discount > 0)
                {
                    if (VM_PurchaseAndDetails.purchase.DiscountType == 1)
                    {
                        purchaseDB.DiscountAmount = Math.Round((purchaseDB.Total / 100) * VM_PurchaseAndDetails.purchase.Discount);
                    }
                    else
                    {
                        purchaseDB.DiscountAmount = Math.Round(VM_PurchaseAndDetails.purchase.Discount);
                    }
                }
                purchaseDB.SubTotal        = Math.Round(purchaseDB.Total - purchaseDB.DiscountAmount);
                purchaseDB.DiscountType    = VM_PurchaseAndDetails.purchase.DiscountType;
                purchaseDB.UpdateBy        = AppUtils.GetLoginUserID();
                purchaseDB.UpdateDate      = AppUtils.GetDateTimeNow();
                purchaseDB.SupplierNoted   = VM_PurchaseAndDetails.purchase.SupplierNoted;
                db.Entry(purchaseDB).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                //Updating Purchase Done


                AccountingHistory accountingHistory = db.AccountingHistory.Where(x => x.PurchaseID == purchaseDB.PurchaseID).FirstOrDefault();
                //Mode 1 mean Create 2 mean Update
                SetInformationForAccountHistory(ref accountingHistory, purchaseDB, 1);
                db.Entry(purchaseDB).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                return(Json(new { Type = "update", Success = true, Message = "Purchase Update Successfully." }, JsonRequestBehavior.AllowGet));
            }
        }