Example #1
0
        public async void DeletePetitionWorks()
        {
            DbContextOptions <CCMSBuildDbContext> options =
                new DbContextOptionsBuilder <CCMSBuildDbContext>
                    ().UseInMemoryDatabase("DeletePetition").Options;

            using (CCMSBuildDbContext context = new CCMSBuildDbContext(options))
            {
                // arrange
                Petition petition = new Petition();
                petition.ID           = 1;
                petition.Name         = "Jason";
                petition.Orginization = "stuff";

                // Act
                context.Petition.Add(petition);

                context.SaveChanges();

                var toDelete = await context.Petition.FirstOrDefaultAsync(p => p.ID == petition.ID);

                context.Petition.Remove(toDelete);

                context.SaveChanges();

                var deleted = await context.Petition.FirstOrDefaultAsync(p => p.ID == petition.ID);

                // Assert
                Assert.Null(deleted);
            }
        }
Example #2
0
        public async void EditPetitionWorks()
        {
            DbContextOptions <CCMSBuildDbContext> options =
                new DbContextOptionsBuilder <CCMSBuildDbContext>
                    ().UseInMemoryDatabase("EditPetition").Options;

            using (CCMSBuildDbContext context = new CCMSBuildDbContext(options))
            {
                // arrange
                Petition petition = new Petition();
                petition.ID           = 1;
                petition.Name         = "Jason";
                petition.Orginization = "stuff";

                // Act
                context.Petition.Add(petition);

                context.SaveChanges();

                var created = await context.Petition.FirstOrDefaultAsync(p => p.ID == petition.ID);

                created.Name = "Jen";

                context.SaveChanges();

                // Assert
                Assert.Equal("Jen", created.Name);
            }
        }
Example #3
0
        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));
        }