public ActionResult GroupLeaveActionDetails(LeaveActionFormViewModel model, OptionsViewModel moreInfo, int[] grid1) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.SiteRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "LeaveAction", TableName = "LeaveAdjusts", ParentColumn = "CompanyId", 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))); } } var message = "OK"; var Employee = _hrUnitOfWork.Repository <Assignment>().Where(a => grid1.Contains(a.DepartmentId)).Select(a => a.EmpId).ToList().Distinct(); if (Employee.Count() > 0) { foreach (var item in Employee) { var record = new LeaveAdjust(); AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "LeaveAction", Options = moreInfo }); record.EmpId = item; record.CreatedUser = UserName; record.CreatedTime = DateTime.Now; record.AdjustDate = DateTime.Now; record.CompanyId = CompanyId; _hrUnitOfWork.LeaveRepository.Add(record); //_hrUnitOfWork.LeaveRepository.PostLeaveAction(record, UserName); } } else { message = MsgUtils.Instance.Trls("thereisnoEmployee"); } var Errors = SaveChanges(Language); if (Errors.Count > 0) { message = Errors.First().errors.First().message; } return(Json(message)); } return(Json(Models.Utils.ParseFormErrors(ModelState))); }
public ActionResult Details(LeaveActionFormViewModel model, OptionsViewModel moreInfo) { List <Error> errors = new List <Error>(); if (ModelState.IsValid) { if (ServerValidationEnabled) { errors = _hrUnitOfWork.SiteRepository.CheckForm(new CheckParm { CompanyId = CompanyId, ObjectName = "LeaveAction", TableName = "LeaveAdjusts", ParentColumn = "CompanyId", 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))); } } var record = _hrUnitOfWork.LeaveRepository.GetLeaveAction(model.Id); //insert if (record == null) { record = new LeaveAdjust(); AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "LeaveAction", Options = moreInfo, Transtype = TransType.Insert }); record.CreatedUser = UserName; record.CreatedTime = DateTime.Now; record.AdjustDate = DateTime.Now; record.CompanyId = CompanyId; _hrUnitOfWork.LeaveRepository.Add(record); } //update else { AutoMapper(new Models.AutoMapperParm { Destination = record, Source = model, ObjectName = "LeaveAction", Options = moreInfo, Transtype = TransType.Update }); record.CompanyId = CompanyId; _hrUnitOfWork.LeaveRepository.Attach(record); _hrUnitOfWork.LeaveRepository.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))); }