//Get items public List <PolicyOnlineOtherGroupItemDataTableItem> GetPolicyOnlineOtherGroupItemDataTableItems(int policyGroupId, int policyOtherGroupHeaderId) { List <PolicyOnlineOtherGroupItemDataTableItem> PolicyOnlineOtherGroupItemDataTableItems = new List <PolicyOnlineOtherGroupItemDataTableItem>(); PolicyOnlineOtherGroupItem PolicyOnlineOtherGroupItem = new PolicyOnlineOtherGroupItem(); PolicyOnlineOtherGroupItemRepository PolicyOnlineOtherGroupItemRepository = new PolicyOnlineOtherGroupItemRepository(); PolicyOnlineOtherGroupItem = PolicyOnlineOtherGroupItemRepository.GetPolicyOnlineOtherGroupItem(policyGroupId, policyOtherGroupHeaderId); //Get Columns List <PolicyOtherGroupHeaderColumnName> policyOtherGroupHeaderColumnNames = new List <PolicyOtherGroupHeaderColumnName>(); PolicyOtherGroupHeaderColumnNameRepository policyOtherGroupHeaderColumnNameRepository = new PolicyOtherGroupHeaderColumnNameRepository(); policyOtherGroupHeaderColumnNames = policyOtherGroupHeaderColumnNameRepository.GetPolicyOtherGroupHeaderColumnNames(policyOtherGroupHeaderId); if (policyOtherGroupHeaderColumnNames != null) { foreach (PolicyOtherGroupHeaderColumnName item in policyOtherGroupHeaderColumnNames) { PolicyOnlineOtherGroupItemDataTableItem PolicyOnlineOtherGroupItemDataTableItem = new PolicyOnlineOtherGroupItemDataTableItem() { PolicyOtherGroupHeaderColumnNameId = item.PolicyOtherGroupHeaderColumnNameId, PolicyOtherGroupHeaderColumnName = item }; PolicyOnlineOtherGroupItemDataTableItems.Add(PolicyOnlineOtherGroupItemDataTableItem); } } return(PolicyOnlineOtherGroupItemDataTableItems); }
//Get items public List <PolicyOnlineOtherGroupItemDataTableItem> GetPolicyOnlineOtherGroupItemDataTableItems(int PolicyOnlineOtherGroupItemDataTableRowId, int policyOtherGroupHeaderId) { List <PolicyOnlineOtherGroupItemDataTableItem> PolicyOnlineOtherGroupItemDataTableItems = new List <PolicyOnlineOtherGroupItemDataTableItem>(); List <int> policyOtherGroupHeaderColumnNameIds = new List <int>(); //Get Completed Columns List <PolicyOnlineOtherGroupItemDataTableItem> PolicyOnlineOtherGroupItemDataTableItemsCompleted = new List <PolicyOnlineOtherGroupItemDataTableItem>(); PolicyOnlineOtherGroupItemDataTableItemsCompleted = db.PolicyOnlineOtherGroupItemDataTableItems.Where( c => c.PolicyOnlineOtherGroupItemDataTableRowId == PolicyOnlineOtherGroupItemDataTableRowId ).ToList(); foreach (PolicyOnlineOtherGroupItemDataTableItem PolicyOnlineOtherGroupItemDataTableItem in PolicyOnlineOtherGroupItemDataTableItemsCompleted) { PolicyOnlineOtherGroupItemDataTableItems.Add(PolicyOnlineOtherGroupItemDataTableItem); policyOtherGroupHeaderColumnNameIds.Add(PolicyOnlineOtherGroupItemDataTableItem.PolicyOtherGroupHeaderColumnNameId); } //Get Empty Columns List <PolicyOtherGroupHeaderColumnName> policyOtherGroupHeaderColumnNames = new List <PolicyOtherGroupHeaderColumnName>(); PolicyOtherGroupHeaderColumnNameRepository policyOtherGroupHeaderColumnNameRepository = new PolicyOtherGroupHeaderColumnNameRepository(); policyOtherGroupHeaderColumnNames = policyOtherGroupHeaderColumnNameRepository.GetIncompletePolicyOtherGroupHeaderColumnNames( policyOtherGroupHeaderId, policyOtherGroupHeaderColumnNameIds); foreach (PolicyOtherGroupHeaderColumnName item in policyOtherGroupHeaderColumnNames) { PolicyOnlineOtherGroupItemDataTableItem PolicyOnlineOtherGroupItemDataTableItem = new PolicyOnlineOtherGroupItemDataTableItem() { PolicyOtherGroupHeaderColumnNameId = item.PolicyOtherGroupHeaderColumnNameId, PolicyOtherGroupHeaderColumnName = item }; PolicyOnlineOtherGroupItemDataTableItems.Add(PolicyOnlineOtherGroupItemDataTableItem); } PolicyOnlineOtherGroupItemDataTableItems = PolicyOnlineOtherGroupItemDataTableItems.OrderBy(x => x.PolicyOtherGroupHeaderColumnName.DisplayOrder).ToList(); return(PolicyOnlineOtherGroupItemDataTableItems); }
public ActionResult Edit(PolicyOnlineOtherGroupItemDataTableItemVM PolicyOnlineOtherGroupItemDataTableItemVM, FormCollection formCollection) { //Check Policy Exists PolicyGroup policyGroup = new PolicyGroup(); policyGroup = policyGroupRepository.GetGroup(PolicyOnlineOtherGroupItemDataTableItemVM.PolicyGroup.PolicyGroupId); if (policyGroup == null) { ViewData["ActionMethod"] = "CreatePost"; return(View("RecordDoesNotExistError")); } //Check PolicyOtherGroupHeader Exists PolicyOtherGroupHeader policyOtherGroupHeader = new PolicyOtherGroupHeader(); policyOtherGroupHeader = policyOtherGroupHeaderRepository.GetPolicyOtherGroupHeader(PolicyOnlineOtherGroupItemDataTableItemVM.PolicyOtherGroupHeader.PolicyOtherGroupHeaderId); if (policyOtherGroupHeader == null) { ViewData["ActionMethod"] = "CreatePost"; return(View("RecordDoesNotExistError")); } //We need to extract group from groupVM List <PolicyOnlineOtherGroupItemDataTableItem> PolicyOnlineOtherGroupItemDataTableItems = new List <PolicyOnlineOtherGroupItemDataTableItem>(); foreach (string item in formCollection) { if (item.StartsWith("PolicyOtherGroupHeaderColumnNameId")) { PolicyOnlineOtherGroupItemDataTableItem PolicyOnlineOtherGroupItemDataTableItem = new PolicyOnlineOtherGroupItemDataTableItem() { PolicyOtherGroupHeaderColumnNameId = Int32.Parse(item.Replace("PolicyOtherGroupHeaderColumnNameId_", "")), TableDataItem = formCollection[item] }; PolicyOnlineOtherGroupItemDataTableItems.Add(PolicyOnlineOtherGroupItemDataTableItem); } } if (PolicyOnlineOtherGroupItemDataTableItems.Count() <= 0) { ViewData["Message"] = "ValidationError : missing item";; return(View("Error")); } PolicyOnlineOtherGroupItemDataTableItemVM.PolicyOnlineOtherGroupItemDataTableItems = PolicyOnlineOtherGroupItemDataTableItems; //Update Model From Form + Validate against DB try { UpdateModel <PolicyOnlineOtherGroupItemDataTableItemVM>(PolicyOnlineOtherGroupItemDataTableItemVM, "PolicyOnlineOtherGroupItemDataTableItemVM"); } catch { string n = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { n += error.ErrorMessage; } } ViewData["Message"] = "ValidationError : " + n; return(View("Error")); } //Database Update try { PolicyOnlineOtherGroupItemDataTableItemRepository.Edit(PolicyOnlineOtherGroupItemDataTableItemVM); } catch (SqlException ex) { //Non-Unique Name if (ex.Message == "NonUniqueName") { return(View("NonUniqueNameError")); } LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } ViewData["NewSortOrder"] = 0; return(RedirectToAction("List", new { id = PolicyOnlineOtherGroupItemDataTableItemVM.PolicyOtherGroupHeader.PolicyOtherGroupHeaderId, policyGroupId = PolicyOnlineOtherGroupItemDataTableItemVM.PolicyGroup.PolicyGroupId })); }