private ActionResult CreateRP(RelyingParty rp, RPCertInputModel cert) { // ID is not required for create ModelState["ID"].Errors.Clear(); rp.Id = null; rp.EncryptingCertificate = cert.Cert; if (ModelState.IsValid) { try { this.RelyingPartyRepository.Add(rp); TempData["Message"] = Resources.RPController.CreateSuccessful; return RedirectToAction("Index"); } catch (ValidationException ex) { ModelState.AddModelError("", ex.Message); } catch { ModelState.AddModelError("", Resources.RPController.ErrorCreatingRelyingParty); } } return View("RP", rp); }
private ActionResult SaveRP(string id, RelyingParty rp, RPCertInputModel cert) { if (cert.RemoveCert == true) { rp.EncryptingCertificate = null; } else if (cert.Cert != null) { rp.EncryptingCertificate = cert.Cert; } else { var origRP = this.RelyingPartyRepository.Get(id); rp.EncryptingCertificate = origRP.EncryptingCertificate; } if (ModelState.IsValid) { try { this.RelyingPartyRepository.Update(rp); TempData["Message"] = Resources.RPController.UpdateSuccessful; return RedirectToAction("RP", new { id }); } catch (ValidationException ex) { ModelState.AddModelError("", ex.Message); } catch { ModelState.AddModelError("", Resources.RPController.ErrorUpdatingRelyingParty); } } return View("RP", rp); }
public ActionResult RP(string id, string action, [Bind(Exclude = "EncryptingCertificate")] RelyingParty rp, RPCertInputModel cert) { if (action == "create") { return CreateRP(rp, cert); } if (action == "save") { return SaveRP(id, rp, cert); } if (action == "delete") { return DeleteRP(id); } var origRP = this.RelyingPartyRepository.Get(id); rp.EncryptingCertificate = origRP.EncryptingCertificate; ModelState.AddModelError("", Resources.RPController.InvalidAction); return View("RP", rp); }