public IActionResult Petition(string Name, string Orginization) { if (Name != null && Orginization != null) { var checkForDuplicates = _context.Petition.FirstOrDefault(n => n.Name == Name && n.Orginization == Orginization); if (checkForDuplicates == null) { Petition petition = new Petition(); petition.Name = Name; petition.Orginization = Orginization; petition.Date = DateTime.Now; _context.Petition.Add(petition); _context.SaveChanges(); PetitionViewModel petitionViewModel1 = new PetitionViewModel(); petitionViewModel1.Signatures = _context.Petition.OrderByDescending(x => x.Date).ToList(); petitionViewModel1.SigCount = _context.Petition.Count(); petitionViewModel1.UniqueOrginizations = _context.Petition.GroupBy(g => g.Orginization).Count(); TempData["Success"] = "Thanks for the Support!"; return(View(petitionViewModel1)); } PetitionViewModel petitionViewModel2 = new PetitionViewModel(); petitionViewModel2.Signatures = _context.Petition.OrderByDescending(x => x.Date).ToList(); petitionViewModel2.SigCount = _context.Petition.Count(); petitionViewModel2.UniqueOrginizations = _context.Petition.GroupBy(g => g.Orginization).Count(); ModelState.AddModelError("Name", "Sorry You Can Only Sign Once"); return(View(petitionViewModel2)); } PetitionViewModel petitionViewModel = new PetitionViewModel(); petitionViewModel.Signatures = _context.Petition.OrderByDescending(x => x.Date).ToList(); petitionViewModel.SigCount = _context.Petition.Count(); petitionViewModel.UniqueOrginizations = _context.Petition.GroupBy(g => g.Orginization).Count(); ModelState.AddModelError("Name", "All Fields Must Be Completed"); return(View(petitionViewModel)); }
/// <summary> /// Sends all petition signatures and counts to view /// </summary> /// <returns>view with object</returns> public IActionResult Petition() { PetitionViewModel petitionViewModel = new PetitionViewModel(); petitionViewModel.Signatures = _context.Petition.OrderByDescending(x => x.Date).ToList(); petitionViewModel.SigCount = _context.Petition.Count(); petitionViewModel.UniqueOrginizations = _context.Petition.GroupBy(g => g.Orginization).Count(); return(View(petitionViewModel)); }