public ActionResult Create(SalarySettingViewModel model) { if (ModelState.IsValid) { var SalarySetting = new SalarySetting(); AutoMapper.Mapper.Map(model, SalarySetting); SalarySetting.IsDeleted = false; SalarySetting.CreatedUserId = WebSecurity.CurrentUserId; SalarySetting.ModifiedUserId = WebSecurity.CurrentUserId; SalarySetting.AssignedUserId = WebSecurity.CurrentUserId; SalarySetting.CreatedDate = DateTime.Now; SalarySetting.ModifiedDate = DateTime.Now; SalarySetting.Name = model.Name; SalarySettingRepository.InsertSalarySetting(SalarySetting); var salarySettingTemplate = SalarySettingRepository.GetAllSalarySetting() .Where(item => item.IsTemplate).FirstOrDefault(); if (salarySettingTemplate != null) { var listAll = salarySettingDetailRepository.GetAllSalarySettingDetail() .Where(item => item.SalarySettingId == salarySettingTemplate.Id).ToList(); var listGroup = listAll.Where(item => item.ParentId == null).ToList(); foreach (var group in listGroup) { int groupId = group.Id; group.SalarySettingId = SalarySetting.Id; group.CreatedUserId = WebSecurity.CurrentUserId; group.ModifiedUserId = WebSecurity.CurrentUserId; group.AssignedUserId = WebSecurity.CurrentUserId; group.CreatedDate = DateTime.Now; group.ModifiedDate = DateTime.Now; salarySettingDetailRepository.InsertSalarySettingDetail(group); var subList = listAll.Where(i => i.ParentId == groupId).ToList(); foreach (var item in subList) { item.SalarySettingId = SalarySetting.Id; item.ParentId = group.Id; item.CreatedUserId = WebSecurity.CurrentUserId; item.ModifiedUserId = WebSecurity.CurrentUserId; item.AssignedUserId = WebSecurity.CurrentUserId; item.CreatedDate = DateTime.Now; item.ModifiedDate = DateTime.Now; salarySettingDetailRepository.InsertSalarySettingDetail(item); } } } //TempData[Globals.SuccessMessageKey] = App_GlobalResources.Wording.InsertSuccess; return(RedirectToAction("Edit", new { Id = SalarySetting.Id })); } return(View(model)); }
public ViewResult Index(int SalarySettingId) { SalarySettingEditViewModel model = new SalarySettingEditViewModel(); model.Id = SalarySettingId; model.ListAllColumns = new List <SalarySettingDetailViewModel>(); //Danh sách tất cả columns var q = salarySettingDetailRepository.GetAllSalarySettingDetail() .Where(item => item.SalarySettingId == SalarySettingId) .ToList(); AutoMapper.Mapper.Map(q, model.ListAllColumns); //Danh sách nhóm model.SelectList_Group = q.Where(item => item.ParentId == null) .Select(item => new SelectListItem { Value = item.Id.ToString(), Text = item.Name }).ToList(); model.SelectListGroupName = SelectListHelper.GetSelectList_Category("SalarySettingDetail_GroupName", null, null); model.SelectListFormulaType = SelectListHelper.GetSelectList_Category("SalarySettingDetail_FormulaType", null, null); model.SelectListDataType = SelectListHelper.GetSelectList_Category("SalarySettingDetail_DataType", null, null); //Cột dữ liệu chấm công của nhân viên var _pTimekeepingSynthesis = XuLyDuLieuTuModel <TimekeepingSynthesis>(new TimekeepingSynthesis()); model.ListColumnsTimekeepingSynthesis = new List <string>(); model.ListColumnsTimekeepingSynthesis.AddRange(_pTimekeepingSynthesis); ViewBag.SuccessMessage = TempData["SuccessMessage"]; ViewBag.FailedMessage = TempData["FailedMessage"]; ViewBag.AlertMessage = TempData["AlertMessage"]; var list_category = categoryRepository.GetCategoryByCode("ListSettingMoneySalary" + SalarySettingId); for (int i = 0; i < model.ListAllColumns.Count(); i++) { if (list_category.Where(x => x.OrderNo == model.ListAllColumns[i].Id).Count() > 0) { model.ListAllColumns[i].IsMoney = true; } else { model.ListAllColumns[i].IsMoney = false; } } return(View(model)); }