// GET: Policy/Assign /// <summary> /// Assign the policy to a client. /// </summary> /// <returns>Client policy view model.</returns> public ActionResult Assign() { var clientPolicyViewModel = new ClientPolicyViewModel(); ViewBag.ClientID = new SelectList(db.Clients, "ID", "Name"); return(View(clientPolicyViewModel)); }
public ActionResult Assign(ClientPolicyViewModel clientPolicyViewModel) { if (ModelState.IsValid) { return(RedirectToAction("ListPolicies", new { id = clientPolicyViewModel.ClientID })); } ViewBag.ClientID = clientPolicyViewModel.ClientID; return(View(clientPolicyViewModel)); }
public ActionResult AssignPolicy(ClientPolicyViewModel clientPolicyViewModel) { clientPolicyViewModel = (ClientPolicyViewModel)Session["clientPolicyViewModel"]; if (clientPolicyViewModel.Client == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (ModelState.IsValid) { clientPolicyViewModel.ClientID = clientPolicyViewModel.Client.ID; var clientToUpdate = db.Clients.Include(i => i.Policies).First(i => i.ID == clientPolicyViewModel.ClientID); clientPolicyViewModel.Client = clientToUpdate; var clientID = clientPolicyViewModel.Policies[0].ID; var policy = db.Policies.SingleOrDefault(i => i.ID == clientID); if (!clientToUpdate.Policies.Contains(policy)) { clientToUpdate.Policies.Add(policy); } else { clientToUpdate.Policies.Remove(policy); } db.Entry(clientToUpdate).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("ListPolicies/" + clientPolicyViewModel.ClientID)); } LoadCoverages(); return(View(clientPolicyViewModel)); }
// GET: Policy/ListPolicies/5 /// <summary> /// List the policies to assign to a client. /// </summary> /// <param name="id">Client id.</param> /// <returns>Client policy view model.</returns> public ActionResult ListPolicies(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var clientPolicyViewModel = new ClientPolicyViewModel { Client = db.Clients.SingleOrDefault(p => p.ID == id) }; foreach (var policy in db.Policies.Include(i => i.Coverages)) { var assignPolicyViewModel = new AssignPolicyViewModel() { ID = policy.ID, Name = policy.Name, Description = policy.Description, ValidityStart = policy.ValidityStart, Price = policy.Price, RiskType = policy.RiskType, Coverages = policy.Coverages, Assigned = policy.Clients.Count > 0 }; clientPolicyViewModel.Policies.Add(assignPolicyViewModel); } if (clientPolicyViewModel.Client == null) { return(HttpNotFound()); } Session["clientPolicyViewModel"] = clientPolicyViewModel; return(View(clientPolicyViewModel)); }