public virtual ActionResult Edit(int autoApprovalId, string docTypeCode) { AutoApproval autoApproval = new AutoApproval(); IList <AutoApproval> autoApprovals = new List <AutoApproval>(); if (autoApprovalId > 0) { autoApproval = this._autoApprovalService.GetAutoApproval(autoApprovalId); } else { autoApprovals = this._autoApprovalService.GetAutoApprovals(docTypeCode); } var docTypes = _docTypeService.GetDocTypes(); var subDocTypes = this._subDocTypeService.GetSubDocTypes(); var manCos = _manCoService.GetManCos(); var model = new EditAutoApprovalViewModel(); if (autoApprovalId > 0) { model.ManCoId = autoApproval.ManCoId; model.DocTypeId = autoApproval.DocTypeId; model.SubDocTypeId = autoApproval.SubDocTypeId; } else { model.ManCoId = autoApprovals.First().ManCoId; model.DocTypeId = autoApprovals.First().DocTypeId; model.SubDocTypeId = -1; } model.DocTypeCode = docTypeCode; model.AddManCos(manCos); model.AddDocTypes(docTypes); model.AddSubDocTypes(subDocTypes); model.SubDocTypes = model.SubDocTypes.FindAll(x => x.DocTypeViewModel.Id == model.DocTypeId); model.SubDocTypes.Insert(0, new SubDocTypeViewModel() { Code = "All", Id = -1 }); return(this.View(model)); }
public virtual ActionResult Update(EditAutoApprovalViewModel model) { if (ModelState.IsValid) { try { if (model.AutoApprovalId == -1) { _autoApprovalService.Delete(model.DocTypeCode); this.AutoApproveSingleDocType(model.ManCoId, model.DocTypeId, model.SubDocTypeId); TempData["SelectedManCoId"] = model.ManCoId; return(RedirectToAction("Index", "AutoApproval")); } else { if (model.SubDocTypeId == -1) { this.AutoApproveAllSubTypes(model.DocTypeId, model.ManCoId); } else { this._autoApprovalService.Update(model.AutoApprovalId, model.ManCoId, model.DocTypeId, model.SubDocTypeId); } TempData["SelectedManCoId"] = model.ManCoId; return(RedirectToAction("Index", "AutoApproval")); } } catch (UnityAutoApprovalAlreadyExistsException) { this.TempData["comment"] = "Auto approval already exists"; return(RedirectToAction("Edit", "AutoApproval", new { autoApprovalId = model.AutoApprovalId, docTypeCode = model.DocTypeCode })); } } else { TempData["comment"] = "Please correct the errors and try again"; return(RedirectToAction("Edit", "AutoApproval", new { autoApprovalId = model.AutoApprovalId, docTypeCode = model.DocTypeCode })); } }