private void SaveGrid2(LinkTableVM grid1, IEnumerable <KeyValuePair <string, ModelState> > state, InfoTable info) { if (grid1.inserted != null) { foreach (LinkTableViewModel model in grid1.inserted) { var range = new LinkTable(); AutoMapper(new Models.AutoMapperParm { Destination = range, Source = model }); range.CreatedTime = DateTime.Now; range.CreatedUser = UserName; _hrUnitOfWork.SalaryDesignRepository.AddLinkTable(range); } } }
public ActionResult DetailsSecondPage(SalaryDesignSecondViewModel model, OptionsViewModel moreInfo, SalaryBasisDesignViewModel grid1, LinkTableVM grid2) { var msg = "OK,"; List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "SalaryBasisPage2", Columns = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))), ParentColumn = "CompanyId", 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))); } } } if (model.Id == 0) { InfoTable record = new InfoTable(); AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "SalaryBasisPage2", Version = Convert.ToByte(Request.QueryString["Version"]), Options = moreInfo }); record.Name = grid1.Name; record.IsLocal = grid1.IsLocal; record.StartDate = grid1.StartDate; record.EndDate = grid1.EndDate; record.Basis = grid1.Basis; record.Purpose = grid1.Purpose; record.CompanyId = CompanyId; record.CreatedTime = DateTime.Now; record.CreatedUser = UserName; _hrUnitOfWork.SalaryDesignRepository.Add(record); SaveGrid2(grid2, ModelState.Where(a => a.Key.Contains("grid2")), record); errors = SaveChanges(Language); if (errors.Count > 0) { msg = errors.First().errors.First().message; } } return(Json(msg)); }