Пример #1
0
        public ActionResult EditPetition(int petitionId)
        {
            PetitionService service = new PetitionService();
            PetitionModel   model   = service.GetPetition(petitionId);

            return(View("Petition/EditPetition", model));
        }
Пример #2
0
        public ActionResult DeletePetition(int petitionId, string test)
        {
            PetitionService service = new PetitionService();

            service.DeletePetition(petitionId);
            return(RedirectToAction("ManagePetitions"));
        }
Пример #3
0
        public ActionResult DeletePetitionProgresses(int petitionProgressId)
        {
            PetitionService service = new PetitionService();
            var             model   = service.GetPetitionProgressEditModel(petitionProgressId);

            return(View("PetitionProgress/DeletePetitionProgresses", model));
        }
Пример #4
0
        public void SearchPetition_Active_OnlyActive()
        {
            var user = Helpers.CreateNewUser();

            var activePetitionId = Helpers.CreateNewPetition(user, "Active Petition",
                                                             startTime: DateTime.UtcNow.AddDays(-1),
                                                             endTime: DateTime.UtcNow.AddDays(1));

            var inactivePetitionId = Helpers.CreateNewPetition(user, "Inactive Petition",
                                                               startTime: DateTime.UtcNow.AddDays(5),
                                                               endTime: DateTime.UtcNow.AddDays(10));

            try
            {
                var service = new PetitionService();
                var actual  = service.Search(null, null, null, true);

                Assert.AreEqual(1, actual.Count);
                Assert.AreEqual("Active Petition", actual[0].Title);
            }
            finally
            {
                Helpers.DeleteUser(user);
            }
        }
Пример #5
0
        public ActionResult PetitionDetails(int petitionId)
        {
            PetitionService service = new PetitionService();
            PetitionModel   model   = service.GetPetition(petitionId);

            return(View("Petition/PetitionDetails", model));
        }
Пример #6
0
        public ActionResult FilterPetitions(int?ParliamentID = null, int page = 1, string sort = "Title", string sortDir = "Ascending", string title = "")
        {
            var service = new PetitionService();
            var model   = service.Search(null, title, null, pageItemCount: 1000, parliamentId: ParliamentID);

            return(PartialView("_SearchResult", model));
        }
Пример #7
0
        public void SearchPetition_ByKeyword_FoundCorrect()
        {
            var submitter = Helpers.CreateNewUser();

            var petition1 = Helpers.CreateNewPetition(submitter,
                                                      title: "First Found", startTime: DateTime.UtcNow.AddDays(-3), endTime: DateTime.UtcNow.AddDays(1));

            var petition2 = Helpers.CreateNewPetition(submitter,
                                                      title: "Second Found", startTime: DateTime.UtcNow.AddDays(-3), endTime: DateTime.UtcNow.AddDays(1));

            var petition3 = Helpers.CreateNewPetition(submitter,
                                                      title: "First hidden", startTime: DateTime.UtcNow.AddDays(-3), endTime: DateTime.UtcNow.AddDays(1));

            try
            {
                var results = new PetitionService().Search(null, "Found", null);

                Assert.AreEqual(2, results.Count);
                Assert.AreEqual("Second Found", results[1].Title);
            }
            finally
            {
                Helpers.DeleteUser(submitter);
            }
        }
Пример #8
0
        public ActionResult DeletePetitionProgresses(int petitionProgressId, string test)
        {
            PetitionService service = new PetitionService();
            var             model   = service.DeletePetitionProgressEditModel(petitionProgressId);

            return(RedirectToAction("ManagePetitionProgresses"));
        }
Пример #9
0
        public void SearchPetition_Paging()
        {
            var submitter = Helpers.CreateNewUser();

            var petition1 = Helpers.CreateNewPetition(submitter,
                                                      title: "First Found", startTime: DateTime.UtcNow.AddDays(-3), endTime: DateTime.UtcNow.AddDays(1));

            var petition2 = Helpers.CreateNewPetition(submitter,
                                                      title: "Second Found", startTime: DateTime.UtcNow.AddDays(-2), endTime: DateTime.UtcNow.AddDays(1));

            var petition3 = Helpers.CreateNewPetition(submitter,
                                                      title: "Third Found", startTime: DateTime.UtcNow.AddDays(-1), endTime: DateTime.UtcNow.AddDays(1));

            try
            {
                var service = new PetitionService();
                var results = service.Search(null, "Found", pageNumber: 2, pageItemCount: 1);


                Assert.AreEqual(1, results.Count);
                Assert.AreEqual("Second Found", results[0].Title);
            }
            finally
            {
                Helpers.DeleteUser(submitter);
            }
        }
Пример #10
0
        public void SearchPetition_Successful_OnlySuccessfull()
        {
            var user         = Helpers.CreateNewUser();
            var signingUsers = new List <string>();

            var successfulPetition = Helpers.CreateNewPetition(user, "Successful Petition",
                                                               startTime: DateTime.UtcNow.AddDays(-1),
                                                               endTime: DateTime.UtcNow.AddDays(1),
                                                               targetCount: 1);

            signingUsers.AddRange(Helpers.SignPetition(successfulPetition, 1));

            var unSuccesfulPetition = Helpers.CreateNewPetition(user, "Unsuccessful Petition",
                                                                startTime: DateTime.UtcNow.AddDays(-2),
                                                                endTime: DateTime.UtcNow.AddDays(-1),
                                                                targetCount: 5);

            signingUsers.AddRange(Helpers.SignPetition(unSuccesfulPetition, 2));

            try
            {
                var service = new PetitionService();
                var actual  = service.Search(null, null, null);

                Assert.AreEqual(1, actual.Count);
                Assert.AreEqual("Successful Petition", actual[0].Title);
            }
            finally
            {
                Helpers.DeleteUsers(signingUsers);
                Helpers.DeleteUser(user);
            }
        }
Пример #11
0
        public ActionResult ManagePetitions()
        {
            PetitionService service = new PetitionService();
            var             model   = service.GetAllPetitions();

            return(View("Petition/ManagePetitions", model));
        }
Пример #12
0
        public ActionResult IndexUnverifiedPetitions()
        {
            PetitionService petitionService = new PetitionService();
            var             model           = petitionService.GetUnverifiedPetitions();

            return(PartialView("_IndexUnverifiedPetitions", model));
        }
Пример #13
0
        public ActionResult Create()
        {
            var service = new PetitionService();
            var model   = service.InitializePetitionModel();

            return(View(model));
        }
Пример #14
0
        public ActionResult EditPetitionProgresses(PetitionProgressEditModel model)
        {
            TryUpdateModel(model);
            PetitionService service = new PetitionService();

            service.UpdatePetitionProgressEditModel(model);
            return(RedirectToAction("PetitionProgressesDetails", new { petitionProgressId = model.PetitionProgresID }));
        }
Пример #15
0
        public ActionResult CreatePetitionProgresses(PetitionProgressEditModel model)
        {
            TryUpdateModel(model);
            PetitionService service    = new PetitionService();
            int             progressId = service.CreatePetitionProgressEditModel(model);

            return(RedirectToAction("PetitionProgressesDetails", new { petitionProgressId = progressId }));
        }
Пример #16
0
        public ActionResult EditPetition(PetitionModel model)
        {
            TryUpdateModel(model);
            PetitionService service = new PetitionService();

            service.UpdatePetition(model, User.Identity.GetUserId());
            return(RedirectToAction("PetitionDetails", new { petitionId = model.PetitionID }));
        }
Пример #17
0
        public ActionResult VerifyPetition(int petitionId)
        {
            var service = new PetitionService();

            service.VerifyPetition(petitionId, User.Identity.GetUserId());
            var model = service.GetPetition(petitionId, User.Identity.GetUserId());

            return(PartialView("_Sign", model));
        }
Пример #18
0
        public ActionResult Create(PetitionModel petition)
        {
            var service = new PetitionService();

            petition.SubmitterUserID = User.Identity.GetUserId();
            petition.SubmitterName   = User.Identity.Name;

            var petitionId = service.CreateNewPetition(petition);

            return(RedirectToAction("PetitionCreated", "Petitions"));
        }
Пример #19
0
        public ActionResult ManagePetitionProgresses()
        {
            if (SessionManager.Current.CurrentParliamentId == 0)
            {
                SessionManager.Current.CurrentParliamentId = 1;
            }

            PetitionService service = new PetitionService();
            var             model   = service.GetAllProgresses(SessionManager.Current.CurrentParliamentId);

            return(View("PetitionProgress/ManagePetitionProgresses", model));
        }
Пример #20
0
        public ActionResult CreatePetitionProgresses()
        {
            if (SessionManager.Current.CurrentParliamentId == 0)
            {
                SessionManager.Current.CurrentParliamentId = 1;
            }

            PetitionService service = new PetitionService();
            var             model   = service.InitializePetitionProgressEditModel(SessionManager.Current.CurrentParliamentId);

            return(View("PetitionProgress/CreatePetitionProgresses", model));
        }
Пример #21
0
        // GET: Petitions
        public ActionResult Index()
        {
            var service             = new PetitionService();
            var parliamentService   = new ParliamentService();
            PetitionHomeModel model = new PetitionHomeModel
            {
                LastSuccessfulPetitions = service.GatLatestPetitions(AppConfig.GetInt("Petitions.Index.LastSuccessfulPetitions", 5)),
                TopActivePetitions      = service.GetTopActivePetitions(AppConfig.GetInt("Petitions.Index.TopActivePetitions", 5)),
                Parliaments             = parliamentService.GetParliaments()
            };

            return(View(model));
        }
Пример #22
0
        public ActionResult Details(int?petitionId = null)
        {
            if (petitionId == null)
            {
                return(HttpNotFound());
            }

            var service = new PetitionService();
            var model   = service.GetPetition(petitionId.Value, User.Identity.IsAuthenticated ? User.Identity.GetUserId() : null);

            if (model == null)
            {
                return(HttpNotFound());
            }

            return(View(model));
        }
Пример #23
0
        public void UpdatePetition_New_Updated()
        {
            var user = Helpers.CreateNewUser();

            Models.PetitionModel model      = null;
            Models.PetitionModel savedModel = null;
            int petitionID = 0;

            try
            {
                var service = new PetitionService();
                model = new Models.PetitionModel
                {
                    Title             = "Some Title",
                    Description       = "Some Description",
                    SubmitterName     = "Some user",
                    SubmitterUserID   = user.Id,
                    TargetInstitution = "Test institution",
                    Verified          = false
                };

                petitionID = service.CreateNewPetition(model);
                Assert.AreNotEqual(0, petitionID, "ID not created");

                savedModel = service.GetPetition(petitionID, user.Id);
                Assert.IsNotNull(savedModel);

                string newTitle = "Some new title";
                savedModel.Title = newTitle;
                var changedModel = service.UpdatePetition(savedModel, user.Id);

                Assert.IsNotNull(savedModel);
                Assert.AreEqual(newTitle, changedModel.Title, "Title Changed");
                Assert.AreEqual(changedModel.Description, model.Description, "Description did not change");
            }
            finally
            {
                Helpers.DeleteUser(user);

                if (model != null)
                {
                    new PetitionService().DeletePetition(petitionID);
                }
            }
        }
Пример #24
0
        public ActionResult Index()
        {
            if (SessionManager.Current.CurrentParliamentId == 0)
            {
                SessionManager.Current.CurrentParliamentId = 1;
            }

            LawService      lawService      = new LawService();
            PetitionService petitionService = new PetitionService();

            var model = new AdminIndexModel
            {
                UnverifiedCustomVotesCount             = lawService.GetUnverifiedCustomVotesCount(),
                UnverifiedLawSectionCustomVoteCount    = lawService.GetUnverifiedLawSectionCustomVotesCount(),
                UnverifiedQuestionsCount               = lawService.GetUnverifiedQuestionsCount(),
                UnverifiedRepresentativeQuestionsCount = lawService.GetUnverifiedRepresentativeQuestionsCount(),
                UnverifiedPetitionsCount               = petitionService.GetUnverifiedPetitionsCount()
            };

            return(View(model));
        }
Пример #25
0
        public void DeletePetition_New_Deleted()
        {
            var user = Helpers.CreateNewUser();

            Models.PetitionModel model      = null;
            Models.PetitionModel savedModel = null;

            try
            {
                var service = new PetitionService();
                model = new Models.PetitionModel
                {
                    Title             = "Some Title",
                    Description       = "Some Description",
                    SubmitterName     = "Some user",
                    SubmitterUserID   = user.Id,
                    TargetInstitution = "Test institution",
                    Verified          = false
                };

                var id = service.CreateNewPetition(model);
                Assert.AreNotEqual(0, id, "ID not created");

                savedModel = service.GetPetition(id, user.Id);
                Assert.IsNotNull(savedModel);

                service.DeletePetition(id);
                savedModel = service.GetPetition(id, user.Id);
                Assert.IsNull(savedModel);
            }
            finally
            {
                Helpers.DeleteUser(user);

                if (model != null)
                {
                    new PetitionService().DeletePetition(model.PetitionID);
                }
            }
        }
Пример #26
0
        public void VerifyPetition_NewPetition_Verified()
        {
            var user       = Helpers.CreateNewUser();
            var service    = new PetitionService();
            var petitionId = service.CreateNewPetition(new Models.PetitionModel
            {
                Title             = "Some Title",
                Description       = "Some description",
                SubmitterName     = "I am Submitter",
                TargetInstitution = "Some institution",
            });

            try
            {
                service.VerifyPetition(petitionId, user.Id);
            }
            finally
            {
                service.DeletePetition(petitionId);
                Helpers.DeleteUser(user);
            }
        }
Пример #27
0
        public static int CreateNewPetition(ApplicationUser user,
                                            string title             = "Some title",
                                            string description       = "Some Description",
                                            int targetCount          = 5000,
                                            string submitterName     = "Some submitter",
                                            string targetInstitution = "Some institution",
                                            DateTime?startTime       = null,
                                            DateTime?endTime         = null)
        {
            var service = new PetitionService();
            var model   = new Models.PetitionModel
            {
                Title             = title,
                Description       = description,
                SubmitterName     = submitterName,
                SubmitterUserID   = user.Id,
                TargetInstitution = targetInstitution,
                Verified          = false
            };

            return(service.CreateNewPetition(model));
        }
Пример #28
0
        public void GetPetition_NewVerified_NonVerified()
        {
            var user = Helpers.CreateNewUser();

            Models.PetitionModel model      = null;
            Models.PetitionModel savedModel = null;
            int petitionID = 0;

            try
            {
                var service = new PetitionService();
                model = new Models.PetitionModel
                {
                    Title             = "Some Title",
                    Description       = "Some Description",
                    SubmitterName     = "Some user",
                    SubmitterUserID   = user.Id,
                    TargetInstitution = "Test institution",
                    Verified          = false
                };

                petitionID = service.CreateNewPetition(model);

                Assert.AreNotEqual(0, petitionID, "ID not created");

                savedModel = service.GetPetition(petitionID, user.Id);

                Assert.IsFalse(savedModel.Verified, "Petition should be non verified");
            }
            finally
            {
                Helpers.DeleteUser(user);

                if (model != null)
                {
                    new PetitionService().DeletePetition(petitionID);
                }
            }
        }
Пример #29
0
        public void SignPetition_OneUser_OneUSerSigned()
        {
            var creator = Helpers.CreateNewUser();
            var signer  = Helpers.CreateNewUser();

            var pettition = Helpers.CreateNewPetition(creator);

            try
            {
                var service = new PetitionService();

                service.Sign(pettition, signer.Id);

                var actualPetition = service.GetPetition(pettition);

                Assert.AreEqual(1, actualPetition.Signatures);
            }
            finally
            {
                Helpers.DeleteUser(signer);
                Helpers.DeleteUser(creator);
            }
        }
Пример #30
0
 public static bool IsOwner(UserInformationModel<User> aUser, Petition aPetition)
 {
     IPetitionService myPetitionService = new PetitionService(new ModelStateWrapper(new ModelStateDictionary()));
     return myPetitionService.CanView(aUser, aPetition);
 }
Пример #31
0
 public static bool HasSigned(UserInformationModel<User> aUser, int aPetitionId)
 {
     IPetitionService myPetitionService = new PetitionService(new ModelStateWrapper(new ModelStateDictionary()));
     return myPetitionService.HasSignedPetition(aUser, aPetitionId);
 }