public Tra_RequirementTrainModel Post([Bind]Tra_RequirementTrainModel model) { #region Validate if(model.isAnalysis==true) { string message = string.Empty; var checkValidate = HRM.Business.Main.Domain.ValidatorService.OnValidateData<Tra_RequirementTrainModel>(model,"Tra_RequirementTrain_Tab", "Tra_RequirementTrain", ref message); if (!checkValidate) { model.ActionStatus = message; return model; } } #endregion var requirementDetailServices = new Tra_RequirementTrainDetailServices(); var profileServices = new Hre_ProfileServices(); string[] arrCodeEmp = new string[1]; if (!string.IsNullOrEmpty(model.lstCodeEmp) && model.lstCodeEmp.IndexOf(',') > 1) { arrCodeEmp = model.lstCodeEmp.Split(',').ToArray(); } else { arrCodeEmp[0] = model.lstCodeEmp; } ActionService service = new ActionService(UserLogin); string status = string.Empty; //var objProfile = new List<object>(); //objProfile.AddRange(new object[17]); //objProfile[15] = 1; //objProfile[16] = int.MaxValue - 1; //var lstProfile = profileServices.GetData<Hre_ProfileEntity>(objProfile, ConstantSql.hrm_hr_sp_get_ProfileAll, UserLogin, ref status).ToList().Translate<Hre_ProfileModel>(); //if (arrCodeEmp != null) //{ // lstProfile = lstProfile.Where(s => arrCodeEmp.Contains(s.CodeEmp)).ToList(); //} var lstProfile = profileServices.GetData<Hre_ProfileEntity>(model.lstCodeEmp, ConstantSql.hrm_hr_sp_get_ProfileAllByCodeEmps, UserLogin, ref status).ToList().Translate<Hre_ProfileModel>(); model = service.UpdateOrCreate<Tra_RequirementTrainEntity, Tra_RequirementTrainModel>(model); var objRequirementDetail = new List<object>(); objRequirementDetail.Add(null); objRequirementDetail.Add(1); objRequirementDetail.Add(int.MaxValue -1); var lstRequirementDetail = requirementDetailServices.GetData<Tra_RequirementTrainDetailEntity>(objRequirementDetail,ConstantSql.hrm_tra_sp_get_RequirementDetail,UserLogin,ref status).ToList(); foreach (var item in lstProfile) { var entity = lstRequirementDetail.Where(s => s.ProfileID == item.ID && s.RequirementTrainID == model.ID && s.CourseID == model.CourseID).FirstOrDefault(); var requirementDetailEntity = new Tra_RequirementTrainDetailEntity(); requirementDetailEntity.ProfileID = item.ID; requirementDetailEntity.RequirementTrainID = model.ID; requirementDetailEntity.CourseID = model.CourseID; requirementDetailEntity.YearAnalyze = model.DateSeniority; if (item.DateHire != null && model.DateSeniority != null) { requirementDetailEntity.Seniority = Math.Floor(model.DateSeniority.Value.Subtract(item.DateHire.Value).TotalDays/30); } if (entity == null) { model.ActionStatus = requirementDetailServices.Add(requirementDetailEntity); } } return model; //return service.UpdateOrCreate<Tra_RequirementTrainEntity, Tra_RequirementTrainModel>(model); }
public Tra_RequirementTrainModel Post([Bind] Tra_RequirementTrainModel model) { #region Validate if (model.isAnalysis == true) { string message = string.Empty; var checkValidate = HRM.Business.Main.Domain.ValidatorService.OnValidateData <Tra_RequirementTrainModel>(model, "Tra_RequirementTrain_Tab", "Tra_RequirementTrain", ref message); if (!checkValidate) { model.ActionStatus = message; return(model); } } #endregion var requirementDetailServices = new Tra_RequirementTrainDetailServices(); var profileServices = new Hre_ProfileServices(); string[] arrCodeEmp = new string[1]; if (!string.IsNullOrEmpty(model.lstCodeEmp) && model.lstCodeEmp.IndexOf(',') > 1) { arrCodeEmp = model.lstCodeEmp.Split(',').ToArray(); } else { arrCodeEmp[0] = model.lstCodeEmp; } ActionService service = new ActionService(UserLogin); string status = string.Empty; //var objProfile = new List<object>(); //objProfile.AddRange(new object[17]); //objProfile[15] = 1; //objProfile[16] = int.MaxValue - 1; //var lstProfile = profileServices.GetData<Hre_ProfileEntity>(objProfile, ConstantSql.hrm_hr_sp_get_ProfileAll, UserLogin, ref status).ToList().Translate<Hre_ProfileModel>(); //if (arrCodeEmp != null) //{ // lstProfile = lstProfile.Where(s => arrCodeEmp.Contains(s.CodeEmp)).ToList(); //} var lstProfile = profileServices.GetData <Hre_ProfileEntity>(model.lstCodeEmp, ConstantSql.hrm_hr_sp_get_ProfileAllByCodeEmps, UserLogin, ref status).ToList().Translate <Hre_ProfileModel>(); model = service.UpdateOrCreate <Tra_RequirementTrainEntity, Tra_RequirementTrainModel>(model); var objRequirementDetail = new List <object>(); objRequirementDetail.Add(null); objRequirementDetail.Add(1); objRequirementDetail.Add(int.MaxValue - 1); var lstRequirementDetail = requirementDetailServices.GetData <Tra_RequirementTrainDetailEntity>(objRequirementDetail, ConstantSql.hrm_tra_sp_get_RequirementDetail, UserLogin, ref status).ToList(); foreach (var item in lstProfile) { var entity = lstRequirementDetail.Where(s => s.ProfileID == item.ID && s.RequirementTrainID == model.ID && s.CourseID == model.CourseID).FirstOrDefault(); var requirementDetailEntity = new Tra_RequirementTrainDetailEntity(); requirementDetailEntity.ProfileID = item.ID; requirementDetailEntity.RequirementTrainID = model.ID; requirementDetailEntity.CourseID = model.CourseID; requirementDetailEntity.YearAnalyze = model.DateSeniority; if (item.DateHire != null && model.DateSeniority != null) { requirementDetailEntity.Seniority = Math.Floor(model.DateSeniority.Value.Subtract(item.DateHire.Value).TotalDays / 30); } if (entity == null) { model.ActionStatus = requirementDetailServices.Add(requirementDetailEntity); } } return(model); //return service.UpdateOrCreate<Tra_RequirementTrainEntity, Tra_RequirementTrainModel>(model); }