public ActionResult EditCustomer(Customer objCustomer, List <string> SubCategoryName, List <int> SubCategoryId) { string status = "error"; try { if (!Authenticated) { status = "Session Expired"; } else { if (objCustomer.IsActive == null) { objCustomer.IsActive = false; } if (objCustomer.IsResaler == null) { objCustomer.IsResaler = false; } var objEdit = db.Customers.Where(x => x.UID == objCustomer.UID).FirstOrDefault(); objEdit.IsActive = objCustomer.IsActive; objEdit.IsResaler = objCustomer.IsResaler; objEdit.Name = objCustomer.Name; objEdit.OpeningBalance = objCustomer.OpeningBalance; objEdit.Contact = objCustomer.Contact; objEdit.Address = objCustomer.Address; objEdit.Email = objCustomer.Email; objEdit.UpdatedBy = ActiveUserId; objEdit.UpdatedOn = DateTime.Now; if (db.SaveChanges() > 0) { // For discount edit //remove all discount first var exist = db.DiscountOnBrands.Where(x => x.CustomerId == objEdit.Id).ToList(); db.DiscountOnBrands.RemoveRange(exist); for (int i = 0; i < SubCategoryName.Count(); i++) { var objDsc = new DiscountOnBrand(); if (SubCategoryName[i] == "" || string.IsNullOrEmpty(SubCategoryName[i])) { SubCategoryName[i] = "0"; } objDsc.SubCatId = SubCategoryId[i]; objDsc.Discount = Convert.ToDecimal(SubCategoryName[i]); objDsc.CustomerId = objEdit.Id; objDsc.CreatedOn = DateTime.Now; db.DiscountOnBrands.Add(objDsc); db.SaveChanges(); } // Entry in Customer Payment var objCp = db.CustomerPayments.Where(x => x.EntryType == 1 && x.CustomerId == objEdit.Id).FirstOrDefault(); objCp.UID = Guid.NewGuid(); objCp.CustomerId = objEdit.Id; if (objCustomer.OpeningBalance == 0) { objCp.Debit = 0; objCp.Credit = 0; } if (objCustomer.OpeningBalance > 0) { objCp.Debit = objCustomer.OpeningBalance; objCp.Credit = 0; } if (objCustomer.OpeningBalance < 0) { objCp.Credit = -(objCustomer.OpeningBalance); objCp.Debit = 0; } objCp.EntryType = 1; objCp.PaymentMethode = 1; objCp.EntryDate = DateTime.Now; objCp.CreatedBy = ActiveUserId; objCp.CreatedOn = DateTime.Now; objCp.UpdatedBy = ActiveUserId; objCp.UpdatedOn = DateTime.Now; // Entry in Customer Payment Logs var objCpl = new CustomerPaymentLog(); objCpl.UID = Guid.NewGuid(); objCpl.CustomerId = objEdit.Id; if (objCustomer.OpeningBalance == 0) { objCpl.Debit = 0; objCpl.Credit = 0; } if (objCustomer.OpeningBalance > 0) { objCpl.Debit = objCustomer.OpeningBalance; objCpl.Credit = 0; } if (objCustomer.OpeningBalance < 0) { objCpl.Credit = -(objCustomer.OpeningBalance); objCpl.Debit = 0; } objCpl.EntryType = 1; objCpl.PaymentMethode = 1; objCpl.CreatedBy = ActiveUserId; objCpl.CreatedOn = DateTime.Now; objCpl.UpdatedBy = ActiveUserId; objCpl.UpdatedOn = DateTime.Now; db.CustomerPaymentLogs.Add(objCpl); db.SaveChanges(); status = Newtonsoft.Json.JsonConvert.SerializeObject(objEdit); } } } catch (Exception ex) { ApplicationExceptionLogging(ex.Message, ex.StackTrace, "CustomerManagementController", "EditVendor"); } return(Content(status)); }
public ActionResult AddCustomer(Customer objCustomer, List <string> SubCategoryName, List <int> SubCategoryId) { string status = "error"; try { if (!Authenticated) { status = "Session Expired"; } else { if (objCustomer.IsActive == null) { objCustomer.IsActive = false; } if (objCustomer.IsResaler == null) { objCustomer.IsResaler = false; } objCustomer.UID = Guid.NewGuid(); objCustomer.CreatedBy = ActiveUserId; objCustomer.CreatedOn = DateTime.Now; objCustomer.UpdatedBy = ActiveUserId; objCustomer.UpdatedOn = DateTime.Now; db.Customers.Add(objCustomer); if (db.SaveChanges() > 0) { // Discount Entry for (int i = 0; i < SubCategoryName.Count(); i++) { var objDsc = new DiscountOnBrand(); if (SubCategoryName[i] == "" || string.IsNullOrEmpty(SubCategoryName[i])) { SubCategoryName[i] = "0"; } objDsc.SubCatId = SubCategoryId[i]; objDsc.Discount = Convert.ToDecimal(SubCategoryName[i]); objDsc.CustomerId = objCustomer.Id; objDsc.CreatedOn = DateTime.Now; db.DiscountOnBrands.Add(objDsc); } // Entry in Customer Payment var objCp = new CustomerPayment(); objCp.UID = Guid.NewGuid(); objCp.CustomerId = objCustomer.Id; if (objCustomer.OpeningBalance == 0) { objCp.Debit = 0; objCp.Credit = 0; } if (objCustomer.OpeningBalance > 0) { objCp.Debit = objCustomer.OpeningBalance; objCp.Credit = 0; } if (objCustomer.OpeningBalance < 0) { objCp.Credit = -(objCustomer.OpeningBalance); objCp.Debit = 0; } objCp.EntryType = 1; objCp.PaymentMethode = 1; objCp.EntryDate = DateTime.Now; objCp.CreatedBy = ActiveUserId; objCp.CreatedOn = DateTime.Now; objCp.UpdatedBy = ActiveUserId; objCp.UpdatedOn = DateTime.Now; db.CustomerPayments.Add(objCp); // Entry in Customer Payment Logs var objCpl = new CustomerPaymentLog(); objCpl.UID = Guid.NewGuid(); objCpl.CustomerId = objCustomer.Id; if (objCustomer.OpeningBalance == 0) { objCpl.Debit = 0; objCpl.Credit = 0; } if (objCustomer.OpeningBalance > 0) { objCpl.Debit = objCustomer.OpeningBalance; objCpl.Credit = 0; } if (objCustomer.OpeningBalance < 0) { objCpl.Credit = -(objCustomer.OpeningBalance); objCpl.Debit = 0; } objCpl.EntryType = 1; objCpl.PaymentMethode = 1; objCpl.CreatedBy = ActiveUserId; objCpl.CreatedOn = DateTime.Now; objCpl.UpdatedBy = ActiveUserId; objCpl.UpdatedOn = DateTime.Now; db.CustomerPaymentLogs.Add(objCpl); db.SaveChanges(); status = Newtonsoft.Json.JsonConvert.SerializeObject(objCustomer); } } } catch (Exception ex) { ApplicationExceptionLogging(ex.Message, ex.StackTrace, "CustomerManagementController", "AddVendor"); } return(Content(status)); }