Esempio n. 1
0
        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));
        }