public ActionResult Edit(CommissionCusViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (Request["Submit"] == "Save")
                {
                    var CommissionCus = CommissionCusRepository.GetCommissionCusById(model.Id);
                    AutoMapper.Mapper.Map(model, CommissionCus);
                    CommissionCus.ModifiedUserId = WebSecurity.CurrentUserId;
                    CommissionCus.ModifiedDate   = DateTime.Now;
                    CommissionCusRepository.UpdateCommissionCus(CommissionCus);

                    TempData[Globals.SuccessMessageKey] = App_GlobalResources.Wording.UpdateSuccess;
                    return(RedirectToAction("Index"));
                }

                return(View(model));
            }

            return(View(model));

            //if (Request.UrlReferrer != null)
            //    return Redirect(Request.UrlReferrer.AbsoluteUri);
            //return RedirectToAction("Index");
        }
        public PartialViewResult LoadProduct(int?CommissionCusId)
        {
            var model = new CommissionCusViewModel();

            model.DetailList  = new List <CommisionCustomerViewModel>();
            model.ProductList = new List <ProductViewModel>();
            //lấy danh sách chi tiết chiết khấu sản phẩm
            if (CommissionCusId != null && CommissionCusId.Value > 0)
            {
                var detail = CommissionDetailRepository.GetAllCommisionCustomer().Where(x => x.CommissionCusId == CommissionCusId).ToList();
                model.DetailList = detail.Select(x => new CommisionCustomerViewModel
                {
                    ProductId       = x.ProductId.Value,
                    Id              = x.Id,
                    IsMoney         = x.IsMoney,
                    Type            = x.Type,
                    CommissionValue = x.CommissionValue,
                    CommissionCusId = x.CommissionCusId.Value
                }).ToList();
            }
            //lấy danh sách sản phẩm thuộc nhóm đã chọn
            var product = productRepository.GetAllProduct();

            model.ProductList = product.Select(x => new ProductViewModel
            {
                Id            = x.Id,
                Code          = x.Code,
                Name          = x.Name,
                PriceOutbound = x.PriceOutbound
            }).ToList();
            return(PartialView(model));
        }
        public ViewResult Create(int?Id)
        {
            var model = new CommissionCusViewModel();

            //model.ApplyFor = "DrugStore";
            model.DetailList = new List <CommisionCustomerViewModel>();
            var departmentList = branchRepository.GetAllBranch().Where(x => x.ParentId != null || x.ParentId > 0)
                                 .Select(item => new BranchViewModel
            {
                Name     = item.Name,
                Id       = item.Id,
                ParentId = item.ParentId
            }).ToList();

            ViewBag.departmentList = departmentList;
            if (Id != null && Id > 0)
            {
                var CommissionCus = CommissionCusRepository.GetCommissionCusById(Id.Value);
                AutoMapper.Mapper.Map(CommissionCus, model);
            }
            return(View(model));
        }
        public ActionResult Detail(int?Id)
        {
            var CommissionCus = CommissionCusRepository.GetCommissionCusById(Id.Value);

            if (CommissionCus != null && CommissionCus.IsDeleted != true)
            {
                var model = new CommissionCusViewModel();
                AutoMapper.Mapper.Map(CommissionCus, model);
                model.DetailList  = new List <CommisionCustomerViewModel>();
                model.ProductList = new List <ProductViewModel>();
                //lấy danh sách chi tiết chiết khấu sản phẩm
                var detail = CommissionDetailRepository.GetAllCommisionCustomer().Where(x => x.CommissionCusId == Id).ToList();
                model.DetailList = detail.Select(x => new CommisionCustomerViewModel
                {
                    ProductId       = x.ProductId.Value,
                    Id              = x.Id,
                    IsMoney         = x.IsMoney,
                    Type            = x.Type,
                    CommissionValue = x.CommissionValue,
                    CommissionCusId = x.CommissionCusId.Value
                }).ToList();
                //lấy danh sách sản phẩm thuộc nhóm đã chọn
                var product = productRepository.GetAllProduct();
                model.ProductList = product.Select(x => new ProductViewModel
                {
                    Id            = x.Id,
                    Code          = x.Code,
                    Name          = x.Name,
                    PriceOutbound = x.PriceOutbound
                }).ToList();
                return(View(model));
            }
            if (Request.UrlReferrer != null)
            {
                return(Redirect(Request.UrlReferrer.AbsoluteUri));
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(int?Id)
        {
            var CommissionCus = CommissionCusRepository.GetCommissionCusById(Id.Value);

            if (CommissionCus != null && CommissionCus.IsDeleted != true)
            {
                var model = new CommissionCusViewModel();
                AutoMapper.Mapper.Map(CommissionCus, model);

                if (model.CreatedUserId != Helpers.Common.CurrentUser.Id && Helpers.Common.CurrentUser.UserTypeId != 1)
                {
                    TempData["FailedMessage"] = "NotOwner";
                    return(RedirectToAction("Index"));
                }

                return(View(model));
            }
            if (Request.UrlReferrer != null)
            {
                return(Redirect(Request.UrlReferrer.AbsoluteUri));
            }
            return(RedirectToAction("Index"));
        }
        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));
        }