public ActionResult Edit(RespondentCreationModel model) { if (ModelState.IsValid) { TipstaffRecord tr = db.TipstaffRecord.Find(model.tipstaffRecordID); if (tr is Warrant) { Warrant w = (Warrant)tr; w.RespondentName = model.respondent.PoliceDisplayName; db.Entry(w).State = EntityState.Modified; } db.Entry(model.respondent).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", genericFunctions.TypeOfTipstaffRecord(model.respondent.tipstaffRecordID), new { id = model.respondent.tipstaffRecordID })); } return(View(model)); }
// // GET: /Respondent/Create public ActionResult Create(int id, bool initial = false) { RespondentCreationModel model = new RespondentCreationModel(id); if (model.tipstaffRecord.caseStatus.sequence > 3) { TempData["UID"] = model.tipstaffRecord.UniqueRecordID; return(RedirectToAction("ClosedFile", "Error")); } if (genericFunctions.TypeOfTipstaffRecord(model.tipstaffRecord) == "Warrant" && model.tipstaffRecord.Respondents.Count() == 1) { //redirect to error ErrorModel errModel = new ErrorModel(2); errModel.ErrorMessage = string.Format("Record {0} already has a contemnor linked, please check your records", model.tipstaffRecord.UniqueRecordID); TempData["ErrorModel"] = errModel; return(RedirectToAction("IndexByModel", "Error", errModel ?? null)); } model.initial = initial; return(View(model)); }
// // GET: /Respondent/Edit/5 public ActionResult Edit(int id) { RespondentCreationModel model = new RespondentCreationModel(); model.respondent = db.Respondents.Find(id); model.tipstaffRecordID = model.respondent.tipstaffRecordID; if (model.respondent == null) { ErrorModel errModel = new ErrorModel(); errModel.ErrorMessage = "No respondent with that ID can be found"; TempData["ErrorModel"] = errModel; return(RedirectToAction("IndexByModel", "Error", errModel ?? null)); } if (model.respondent.tipstaffRecord.caseStatus.sequence > 3) { TempData["UID"] = model.respondent.tipstaffRecord.UniqueRecordID; return(RedirectToAction("ClosedFile", "Error")); } return(View(model)); }
public ActionResult Create(RespondentCreationModel model, string submitButton) { if (!ModelState.IsValid) { return(View(model)); } try { TipstaffRecord tr = db.TipstaffRecord.Find(model.tipstaffRecordID); //if (genericFunctions.TypeOfTipstaffRecord(tr) == "Warrant") if (tr is Warrant) { Warrant w = (Warrant)tr; w.RespondentName = model.respondent.PoliceDisplayName; w.Respondents.Add(model.respondent); db.Entry(w).State = EntityState.Modified; db.SaveChanges(); } else { tr.Respondents.Add(model.respondent); } db.SaveChanges(); if (Request.IsAjaxRequest()) { string url = string.Format("window.location='{0}';", Url.Action("Details", genericFunctions.TypeOfTipstaffRecord(tr), new { id = model.tipstaffRecordID })); return(JavaScript(url)); } else { switch (submitButton) { case "Save,add new Respondent": return(RedirectToAction("Create", "Respondent", new { id = model.tipstaffRecordID, initial = model.initial })); case null: default: return(RedirectToAction("Details", genericFunctions.TypeOfTipstaffRecord(tr), new { id = model.tipstaffRecordID })); } } } catch (DbUpdateException ex) { _logger.LogError(ex, $"DbUpdateException in RespondentController in Create method, for user {((CPrincipal)User).UserID}"); if (Request.IsAjaxRequest()) { return(PartialView("_createRespondentForRecord", model)); } else { return(View(model)); } } catch (Exception ex) { _logger.LogError(ex, $"Exception in RespondentController in Create method, for user {((CPrincipal)User).UserID}"); ErrorModel errModel = new ErrorModel(2); errModel.ErrorMessage = genericFunctions.GetLowestError(ex); TempData["ErrorModel"] = errModel; return(RedirectToAction("IndexByModel", "Error", errModel ?? null)); } }