private void MapTrainCourse(TrainCourse trainCourse, TrainCourseFormViewModel model, OptionsViewModel moreInfo) { model.Branches = model.IBranches == null ? null : string.Join(",", model.IBranches.ToArray()); model.Jobs = model.IJobs == null ? null : string.Join(",", model.IJobs.ToArray()); model.Employments = model.IEmployments == null ? null : string.Join(",", model.IEmployments.ToArray()); model.PeopleGroups = model.IPeopleGroups == null ? null : string.Join(",", model.IPeopleGroups.ToArray()); model.Payrolls = model.IPayrolls == null ? null : string.Join(",", model.IPayrolls.ToArray()); model.PayrollGrades = model.IPayrollGrades == null ? null : string.Join(",", model.IPayrollGrades.ToArray()); model.CompanyStuctures = model.ICompanyStuctures == null ? null : string.Join(",", model.ICompanyStuctures.ToArray()); model.Positions = model.IPositions == null ? null : string.Join(",", model.IPositions.ToArray()); model.PrevCourses = model.IPrevCourses == null ? null : string.Join(",", model.IPrevCourses.ToArray()); moreInfo.VisibleColumns.Add("Branches"); moreInfo.VisibleColumns.Add("Jobs"); moreInfo.VisibleColumns.Add("Employments"); moreInfo.VisibleColumns.Add("PeopleGroups"); moreInfo.VisibleColumns.Add("Payrolls"); moreInfo.VisibleColumns.Add("PayrollGrades"); moreInfo.VisibleColumns.Add("CompanyStuctures"); moreInfo.VisibleColumns.Add("Positions"); moreInfo.VisibleColumns.Add("PrevCourses"); _hrUnitOfWork.LeaveRepository.AddLName(Language, trainCourse.Name, model.Name, model.LocalName); if (trainCourse.Id == 0) { AutoMapper(new Models.AutoMapperParm { Destination = trainCourse, Source = model, ObjectName = "TrainCourse", Options = moreInfo, Transtype = TransType.Insert }); } else { AutoMapper(new Models.AutoMapperParm { Destination = trainCourse, Source = model, ObjectName = "TrainCourse", Options = moreInfo, Transtype = TransType.Update }); } }
public TrainCourseFormViewModel ReadTrainCourse(int Id, string culture) { var obj = context.TrainCourses.Where(a => a.Id == Id).Select(a => new { a, LocalName = HrContext.TrlsName(a.Name, culture) }).FirstOrDefault(); var mod = new TrainCourseFormViewModel() { Id = obj.a.Id, Name = obj.a.Name, StartDate = obj.a.StartDate, Whom = obj.a.Whom, Summary = obj.a.Summary, IsLocal = obj.a.IsLocal, Age = obj.a.Age, Code = obj.a.Code, CourseCat = obj.a.CourseCat, EndDate = obj.a.EndDate, Formula = obj.a.Formula, Performance = obj.a.Performance, YearServ = obj.a.YearServ, PlannedHours = obj.a.PlannedHours, Requirements = obj.a.Requirements, Qualification = obj.a.Qualification, LocalName = obj.LocalName, QualRank = obj.a.QualRank, CreatedTime = obj.a.CreatedTime, CreatedUser = obj.a.CreatedUser, ModifiedTime = obj.a.ModifiedTime, ModifiedUser = obj.a.ModifiedUser, IPrevCourses = obj.a.PrevCourses == null ? null : obj.a.PrevCourses.Split(',').Select(int.Parse).ToList(), IPayrolls = obj.a.Payrolls == null ? null : obj.a.Payrolls.Split(',').Select(int.Parse).ToList(), ICompanyStuctures = obj.a.CompanyStuctures == null ? null : obj.a.CompanyStuctures.Split(',').Select(int.Parse).ToList(), IEmployments = obj.a.Employments == null ? null : obj.a.Employments.Split(',').Select(int.Parse).ToList(), IPayrollGrades = obj.a.PayrollGrades == null ? null : obj.a.PayrollGrades.Split(',').Select(int.Parse).ToList(), IPositions = obj.a.Positions == null ? null : obj.a.Positions.Split(',').Select(int.Parse).ToList(), IBranches = obj.a.Branches == null ? null : obj.a.Branches.Split(',').Select(int.Parse).ToList(), IJobs = obj.a.Jobs == null ? null : obj.a.Jobs.Split(',').Select(int.Parse).ToList(), IPeopleGroups = obj.a.PeopleGroups == null ? null : obj.a.PeopleGroups.Split(',').Select(int.Parse).ToList() }; return(mod); }
public ActionResult Details(TrainCourseFormViewModel model, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.SiteRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "TrainCourse", TableName = "TrainCourses", Columns = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))), Culture = Language }); if (errors.Count() > 0) { foreach (var e in errors) { foreach (var errorMsg in e.errors) { ModelState.AddModelError(errorMsg.field, errorMsg.message); } } return(Json(Models.Utils.ParseFormErrors(ModelState))); } } //insert if (model.Id == 0) { var record = new TrainCourse(); MapTrainCourse(record, model, moreInfo); record.CreatedUser = UserName; record.CreatedTime = DateTime.Now; record.CompanyId = model.IsLocal ? CompanyId : (int?)null; if (record.StartDate > record.EndDate) { ModelState.AddModelError("EndDate", MsgUtils.Instance.Trls("EndDateGthanStartDate")); return(Json(Models.Utils.ParseFormErrors(ModelState))); } _hrUnitOfWork.TrainingRepository.Add(record); } //update else { var record = _hrUnitOfWork.Repository <TrainCourse>().FirstOrDefault(a => a.Id == model.Id); MapTrainCourse(record, model, moreInfo); record.ModifiedTime = DateTime.Now; record.ModifiedUser = UserName; record.CompanyId = model.IsLocal ? CompanyId : (int?)null; if (record.StartDate > record.EndDate) { ModelState.AddModelError("EndDate", MsgUtils.Instance.Trls("EndDateGthanStartDate")); return(Json(Models.Utils.ParseFormErrors(ModelState))); } _hrUnitOfWork.TrainingRepository.Attach(record); _hrUnitOfWork.TrainingRepository.Entry(record).State = EntityState.Modified; } var Errors = SaveChanges(Language); var message = "OK"; if (Errors.Count > 0) { message = Errors.First().errors.First().message; } return(Json(message)); } return(Json(Models.Utils.ParseFormErrors(ModelState))); }