Exemple #1
0
        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));
        }
        public ActionResult Create(CommissionCusViewModel model)
        {
            var urlRefer = Request["UrlReferrer"];
            var check    = Request["group_choice"];
            var ApplyFor = Request["ApplyFor"];

            if (ModelState.IsValid)
            {
                CommissionCus commissioncus = null;
                if (model.Id > 0)
                {
                    commissioncus = CommissionCusRepository.GetCommissionCusById(model.Id);
                }
                if (commissioncus != null)
                {
                    AutoMapper.Mapper.Map(model, commissioncus);
                    commissioncus.Type      = check;
                    commissioncus.ApplyFor  = ApplyFor;
                    commissioncus.StartDate = check == "FixedDiscount" ? null : model.StartDate;
                    if (model.EndDate != null)
                    {
                        if (check != "FixedDiscount")
                        {
                            commissioncus.EndDate = model.EndDate.Value.AddHours(23).AddMinutes(59);
                        }
                    }
                    else
                    {
                        commissioncus.EndDate = null;
                    }
                    commissioncus.ModifiedUserId = WebSecurity.CurrentUserId;
                    commissioncus.ModifiedDate   = DateTime.Now;
                }
                else
                {
                    commissioncus = new CommissionCus();
                    AutoMapper.Mapper.Map(model, commissioncus);
                    commissioncus.IsDeleted      = false;
                    commissioncus.CreatedUserId  = WebSecurity.CurrentUserId;
                    commissioncus.ModifiedUserId = WebSecurity.CurrentUserId;
                    commissioncus.AssignedUserId = WebSecurity.CurrentUserId;
                    commissioncus.CreatedDate    = DateTime.Now;
                    commissioncus.ModifiedDate   = DateTime.Now;
                    commissioncus.Type           = check;
                    commissioncus.ApplyFor       = ApplyFor;
                    commissioncus.StartDate      = check == "FixedDiscount" ? null : model.StartDate;
                    if (model.EndDate != null)
                    {
                        if (check != "FixedDiscount")
                        {
                            commissioncus.EndDate = model.EndDate.Value.AddHours(23).AddMinutes(59);
                        }
                    }
                    else
                    {
                        commissioncus.EndDate = null;
                    }
                }
                model.DetailList.RemoveAll(x => x.CommissionValue <= 0);
                //hàm edit
                if (model.Id > 0)
                {
                    CommissionCusRepository.UpdateCommissionCus(commissioncus);
                    var detail = CommissionDetailRepository.GetAllCommisionCustomer().Where(x => x.CommissionCusId == model.Id).ToList();
                    for (int i = 0; i < detail.Count(); i++)
                    {
                        CommissionDetailRepository.DeleteCommisionCustomer(detail[i].Id);
                    }
                }
                else
                {
                    CommissionCusRepository.InsertCommissionCus(commissioncus);
                }
                foreach (var item in model.DetailList)
                {
                    var commision = new CommisionCustomer();
                    commision.IsDeleted       = false;
                    commision.CreatedUserId   = WebSecurity.CurrentUserId;
                    commision.ModifiedUserId  = WebSecurity.CurrentUserId;
                    commision.CreatedDate     = DateTime.Now;
                    commision.ModifiedDate    = DateTime.Now;
                    commision.CommissionCusId = commissioncus.Id;
                    commision.ProductId       = item.ProductId;
                    commision.CommissionValue = item.CommissionValue;
                    commision.IsMoney         = item.IsMoney;
                    CommissionDetailRepository.InsertCommisionCustomer(commision);
                }
                TempData[Globals.SuccessMessageKey] = App_GlobalResources.Wording.InsertSuccess;
                if (Request["IsPopup"] == "true" || Request["IsPopup"] == "True")
                {
                    return(RedirectToAction("_ClosePopup", "Home", new { area = "", FunctionCallback = "ClosePopupAndReloadPage" }));
                }
                //return Redirect(urlRefer);
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }