public ActionResult Edit(String ConstituencyID) { AspNetUser aspnetuser = db.AspNetUsers.Where(u => u.UserName.Equals(User.Identity.Name)).First(); Agent agent = aspnetuser.Agent; if (agent == null) { return(RedirectToAction("Edit", "Account", new { ID = aspnetuser.Id })); } else { //IEnumerable<CollationEntry> exep; //exep = db.CollationEntries.ToList().GroupBy(c => c.ConstituencyID).Select(group => group.First()); List <SelectListItem> itemConstituencies = new List <SelectListItem>(); List <SelectListItem> itemPolling = new List <SelectListItem>(); //List<vConstituency> lstConst = db.vConstituencies.Where(c => c.RegionID == agent.RegionID).ToList(); foreach (var cst in db.Constituencies.Where(c => c.District.RegionID == agent.RegionID)) { itemConstituencies.Add(new SelectListItem { Value = cst.ConstituencyNo, Text = cst.ConstituencyName }); } VoteCollationModelView lstCol = new VoteCollationModelView(); ViewBag.itemConstituencies = itemConstituencies; ViewBag.itemPolling = itemPolling; return(View(lstCol)); } }
public ActionResult Edit(VoteCollationModelView model) { if (ModelState.IsValid) { String AgentID = db.AspNetUsers.Where(u => u.UserName.Equals(User.Identity.Name)).First().Agent.UserID; List <CollationEntry> check = db.CollationEntries.Where(o => o.PollingStationID == model.PollingStationID).ToList(); if (check.Count() == 0) { CollationEntry NDCEntry = new CollationEntry(); NDCEntry.AgentID = AgentID; NDCEntry.ConstituencyID = model.ConstituencyID; NDCEntry.DateSend = DateTime.Now; NDCEntry.PartyID = db.Parties.Where(c => c.Abrev.Equals("NDC")).FirstOrDefault().ID; NDCEntry.NumberOfVote = model.NDC; NDCEntry.PollingStationID = model.PollingStationID; CollationEntry NPPEntry = new CollationEntry(); NPPEntry.AgentID = AgentID; NPPEntry.ConstituencyID = model.ConstituencyID; NPPEntry.DateSend = DateTime.Now; NPPEntry.PartyID = db.Parties.Where(c => c.Abrev.Equals("NPP")).FirstOrDefault().ID; NPPEntry.NumberOfVote = model.NPP; NPPEntry.PollingStationID = model.PollingStationID; CollationEntry CPPEntry = new CollationEntry(); CPPEntry.AgentID = AgentID; CPPEntry.ConstituencyID = model.ConstituencyID; CPPEntry.DateSend = DateTime.Now; CPPEntry.PartyID = db.Parties.Where(c => c.Abrev.Equals("CPP")).FirstOrDefault().ID; CPPEntry.NumberOfVote = model.CPP; CPPEntry.PollingStationID = model.PollingStationID; CollationEntry PPPEntry = new CollationEntry(); PPPEntry.AgentID = AgentID; PPPEntry.ConstituencyID = model.ConstituencyID; PPPEntry.DateSend = DateTime.Now; PPPEntry.PartyID = db.Parties.Where(c => c.Abrev.Equals("PPP")).FirstOrDefault().ID; PPPEntry.NumberOfVote = model.PPP; PPPEntry.PollingStationID = model.PollingStationID; CollationEntry OTHERSEntry = new CollationEntry(); OTHERSEntry.AgentID = AgentID; OTHERSEntry.ConstituencyID = model.ConstituencyID; OTHERSEntry.DateSend = DateTime.Now; OTHERSEntry.PartyID = db.Parties.Where(c => c.Abrev.Equals("OTH")).FirstOrDefault().ID; OTHERSEntry.NumberOfVote = model.OTHERS; OTHERSEntry.PollingStationID = model.PollingStationID; CollationEntry REJECTEDEntry = new CollationEntry(); REJECTEDEntry.AgentID = AgentID; REJECTEDEntry.ConstituencyID = model.ConstituencyID; REJECTEDEntry.DateSend = DateTime.Now; REJECTEDEntry.PartyID = db.Parties.Where(c => c.Abrev.Equals("IRB")).FirstOrDefault().ID; REJECTEDEntry.NumberOfVote = model.REJECTED; REJECTEDEntry.PollingStationID = model.PollingStationID; db.CollationEntries.Add(NDCEntry); db.CollationEntries.Add(NPPEntry); db.CollationEntries.Add(CPPEntry); db.CollationEntries.Add(PPPEntry); db.CollationEntries.Add(OTHERSEntry); db.CollationEntries.Add(REJECTEDEntry); db.SaveChanges(); return(this.RedirectToAction("Index")); } else { throw new HttpException(string.Format("The Polling Station {0} has already posted", db.PollingStations.Find(model.PollingStationID).PollingStationName)); } } else { return(View(model)); } }