private void SaveGrid1(RangeTableVm grid1, IEnumerable <KeyValuePair <string, ModelState> > state, InfoTable info)
 {
     if (grid1.inserted != null)
     {
         foreach (RangeTableViewModel model in grid1.inserted)
         {
             var range = new RangeTable();
             AutoMapper(new Models.AutoMapperParm {
                 Destination = range, Source = model
             });
             range.CreatedTime = DateTime.Now;
             range.CreatedUser = UserName;
             _hrUnitOfWork.SalaryDesignRepository.AddRangeTable(range);
         }
     }
 }
        public ActionResult DetailsFirstPage(SalaryBasisDesignViewModel model, OptionsViewModel moreInfo, RangeTableVm grid1)
        {
            string       msg    = "OK,";
            List <Error> errors = new List <Error>();

            if (model.Purpose != 2)
            {
                if (ModelState.IsValid)
                {
                    if (ServerValidationEnabled)
                    {
                        errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm
                        {
                            CompanyId    = CompanyId,
                            ObjectName   = "SalaryBasisPage1",
                            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)));
                        }
                    }
                }
                msg += ((new JavaScriptSerializer().Serialize(model)));
                return(Json(msg));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    if (ServerValidationEnabled)
                    {
                        errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm
                        {
                            CompanyId    = CompanyId,
                            ObjectName   = "SalaryBasisPage1",
                            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  = "SalaryBasisPage1",
                        Version     = Convert.ToByte(Request.QueryString["Version"]),
                        Options     = moreInfo
                    });
                    record.CompanyId   = CompanyId;
                    record.TableType   = (grid1.inserted != null ? grid1.inserted.FirstOrDefault().TableType : null);
                    record.CreatedTime = DateTime.Now;
                    record.CreatedUser = UserName;
                    _hrUnitOfWork.SalaryDesignRepository.Add(record);
                    SaveGrid1(grid1, ModelState.Where(a => a.Key.Contains("grid1")), record);

                    errors = SaveChanges(Language);

                    if (errors.Count > 0)
                    {
                        msg = errors.First().errors.First().message;
                    }
                }
            }

            return(Json(msg));
        }