public ViewResult Create(int CustomerId, string manufacturer, string group, string txtCode) { CommisionCustomerDetailViewModel model = new CommisionCustomerDetailViewModel(); var listCommision = commisionCustomerRepository.GetAllCommisionCustomer().Where(item => item.CustomerId == CustomerId).ToList(); model.CustomerName = customerRepository.GetAllCustomer().Where(item => item.Id == CustomerId).Select(item => item.Name).FirstOrDefault(); model.CustomerId = CustomerId; model.DetailList = new List <CommisionCustomerViewModel>(); var productList = productRepository.GetAllvwProductByType("product").Select(item => new { item.Id, item.Code, item.Name, item.PriceOutbound, item.Manufacturer, item.ProductGroup }).ToList(); bool bIsSearch = false; if (!string.IsNullOrEmpty(manufacturer)) { productList = productList.Where(u => u.Manufacturer == manufacturer).ToList(); bIsSearch = true; } if (!string.IsNullOrEmpty(group)) { productList = productList.Where(u => u.ProductGroup == group).ToList(); bIsSearch = true; } if (!string.IsNullOrEmpty(txtCode)) { productList = productList.Where(u => u.Code == txtCode).ToList(); bIsSearch = true; } foreach (var item in productList) { var commisionCustomerViewModel = new CommisionCustomerViewModel(); commisionCustomerViewModel.ProductId = item.Id; commisionCustomerViewModel.Name = item.Name; commisionCustomerViewModel.ProductCode = item.Code; commisionCustomerViewModel.Price = item.PriceOutbound.Value; commisionCustomerViewModel.IsMoney = false; var commision = listCommision.Where(i => i.ProductId == item.Id).FirstOrDefault(); if (commision != null) { commisionCustomerViewModel.Id = commision.Id; commisionCustomerViewModel.CommissionValue = commision.CommissionValue; commisionCustomerViewModel.IsMoney = commision.IsMoney == null ? false : commision.IsMoney; } model.DetailList.Add(commisionCustomerViewModel); } ViewBag.Search = bIsSearch; ViewBag.SuccessMessage = TempData["SuccessMessage"]; ViewBag.FailedMessage = TempData["FailedMessage"]; ViewBag.AlertMessage = TempData["AlertMessage"]; return(View(model)); }
public ActionResult Create(CommisionCustomerDetailViewModel model) { if (ModelState.IsValid) { if (Request["Submit"] == "Save") { foreach (var item in model.DetailList) { if (item.CommissionValue < 0) { item.CommissionValue = 0; } else if ((item.IsMoney == null || item.IsMoney == false) && item.CommissionValue > 100) { item.CommissionValue = 100; } else if (item.CommissionValue > item.Price) { item.CommissionValue = item.Price; } if (item.Id > 0) { var commision = commisionCustomerRepository.GetCommisionCustomerById(item.Id); commision.ModifiedUserId = WebSecurity.CurrentUserId; commision.ModifiedDate = DateTime.Now; commision.CommissionValue = item.CommissionValue; commision.IsMoney = item.IsMoney; commisionCustomerRepository.UpdateCommisionCustomer(commision); } else { if (item.CommissionValue > 0) { var commision = new CommisionCustomer(); commision.IsDeleted = false; commision.CreatedUserId = WebSecurity.CurrentUserId; commision.ModifiedUserId = WebSecurity.CurrentUserId; commision.CreatedDate = DateTime.Now; commision.ModifiedDate = DateTime.Now; commision.CustomerId = model.CustomerId; commision.ProductId = item.ProductId; commision.CommissionValue = item.CommissionValue; commision.IsMoney = item.IsMoney; commisionCustomerRepository.InsertCommisionCustomer(commision); } } } TempData[Globals.SuccessMessageKey] = App_GlobalResources.Wording.UpdateSuccess; return(RedirectToAction("Create", "CommisionCustomer", new { CustomerId = model.CustomerId })); } return(View(model)); } return(View(model)); }