public ActionResult Create(SalarySettingDetailViewModel model)
        {
            if (ModelState.IsValid)
            {
                var salarySettingDetail = new SalarySettingDetail();
                AutoMapper.Mapper.Map(model, salarySettingDetail);
                salarySettingDetail.IsDeleted      = false;
                salarySettingDetail.CreatedUserId  = WebSecurity.CurrentUserId;
                salarySettingDetail.ModifiedUserId = WebSecurity.CurrentUserId;
                salarySettingDetail.AssignedUserId = WebSecurity.CurrentUserId;
                salarySettingDetail.CreatedDate    = DateTime.Now;
                salarySettingDetail.ModifiedDate   = DateTime.Now;
                salarySettingDetailRepository.InsertSalarySettingDetail(salarySettingDetail);

                return(RedirectToAction("_ClosePopup", "Home", new { area = "", FunctionCallback = "ClosePopupAndReloadPage" }));
            }
            return(View(model));
        }
        public ActionResult Edit(int SalarySettingId, int Id, int?ParentId, int OrderNo, string Name, string FormulaType, string Formula, double DefaultValue, bool IsDefaultValue, string GroupName, bool IsGroup, bool IsDisplay, string DataType, bool IsSum, bool IsMoney, bool IsChange)
        {
            var q = salarySettingDetailRepository.GetAllSalarySettingDetail()
                    .Where(item => item.SalarySettingId == SalarySettingId);

            if (q.Any(item => item.Id != Id && item.Name == Name))
            {
                return(Content("exsits"));
            }

            var salarySettingDetail = salarySettingDetailRepository.GetSalarySettingDetailById(Id);

            if (salarySettingDetail != null)
            {
                var list = q.ToList();
                foreach (var item in list)
                {
                    if (!string.IsNullOrEmpty(item.Formula))
                    {
                        item.Formula = item.Formula.Replace(salarySettingDetail.Name, Name);
                        salarySettingDetailRepository.UpdateSalarySettingDetail(item);
                    }
                }

                salarySettingDetail.ModifiedUserId = WebSecurity.CurrentUserId;
                salarySettingDetail.ModifiedDate   = DateTime.Now;

                salarySettingDetail.OrderNo        = OrderNo;
                salarySettingDetail.Name           = Name;
                salarySettingDetail.ParentId       = ParentId;
                salarySettingDetail.FormulaType    = FormulaType;
                salarySettingDetail.DefaultValue   = DefaultValue;
                salarySettingDetail.Formula        = Formula;
                salarySettingDetail.IsDefaultValue = IsDefaultValue;
                salarySettingDetail.GroupName      = GroupName;
                salarySettingDetail.IsGroup        = IsGroup;
                salarySettingDetail.IsDisplay      = IsDisplay;
                salarySettingDetail.DataType       = DataType;
                salarySettingDetail.IsSum          = IsSum;
                salarySettingDetail.IsChange       = IsChange;
                salarySettingDetailRepository.UpdateSalarySettingDetail(salarySettingDetail);
                if (IsMoney == true)
                {
                    Erp.BackOffice.Cms.Controllers.CategoryController.CreateAndEditCategory(salarySettingDetail.Id.ToString(), salarySettingDetail.Name, "ListSettingMoneySalary" + salarySettingDetail.SalarySettingId, null, salarySettingDetail.Id);
                }
                else
                {
                    Erp.BackOffice.Cms.Controllers.CategoryController.DeleteCategory(salarySettingDetail.Id.ToString(), "ListSettingMoneySalary" + salarySettingDetail.SalarySettingId);
                }
            }
            else
            {
                salarySettingDetail                = new SalarySettingDetail();
                salarySettingDetail.IsDeleted      = false;
                salarySettingDetail.CreatedUserId  = WebSecurity.CurrentUserId;
                salarySettingDetail.ModifiedUserId = WebSecurity.CurrentUserId;
                salarySettingDetail.AssignedUserId = WebSecurity.CurrentUserId;
                salarySettingDetail.CreatedDate    = DateTime.Now;
                salarySettingDetail.ModifiedDate   = DateTime.Now;

                salarySettingDetail.SalarySettingId = SalarySettingId;
                salarySettingDetail.OrderNo         = OrderNo;
                salarySettingDetail.Name            = Name;
                salarySettingDetail.ParentId        = ParentId;
                salarySettingDetail.FormulaType     = FormulaType;
                salarySettingDetail.DefaultValue    = DefaultValue;
                salarySettingDetail.Formula         = Formula;
                salarySettingDetail.IsDefaultValue  = IsDefaultValue;
                salarySettingDetail.GroupName       = GroupName;
                salarySettingDetail.IsGroup         = IsGroup;
                salarySettingDetail.IsDisplay       = IsDisplay;
                salarySettingDetail.DataType        = DataType;
                salarySettingDetail.IsSum           = IsSum;
                salarySettingDetail.IsChange        = IsChange;
                salarySettingDetailRepository.InsertSalarySettingDetail(salarySettingDetail);
                if (IsMoney == true)
                {
                    Erp.BackOffice.Cms.Controllers.CategoryController.CreateAndEditCategory(salarySettingDetail.Id.ToString(), salarySettingDetail.Name, "ListSettingMoneySalary" + salarySettingDetail.SalarySettingId, null, salarySettingDetail.Id);
                }
                else
                {
                    Erp.BackOffice.Cms.Controllers.CategoryController.DeleteCategory(salarySettingDetail.Id.ToString(), "ListSettingMoneySalary" + salarySettingDetail.SalarySettingId);
                }
            }

            return(Content("success"));
        }