Beispiel #1
0
        public ActionResult List()
        {
            var campaigns             = campaignService.FindAll();
            var campaignListViewModel = new CampaignListViewModel();

            campaignListViewModel.Campaigns = campaigns;
            return(View(campaignListViewModel));
        }
Beispiel #2
0
        public ActionResult ShakingLottery_End()
        {
            CampaignListViewModel model = new CampaignListViewModel();

            model.CampaignCount = _campaignManager.GetCampaignCount(
                DomainContext.Domain.Id, DomainContext.AppId, EnumCampaignType.ShakingLottery);
            return(View(model));
        }
Beispiel #3
0
 public ActionResult ClearFilters(CampaignListViewModel model)
 {
     // Usunięcie filtrów z sesji
     if (Session != null)
     {
         Session.Remove(FilterSettingsKey.CampaignControllerFilterList.ToString());
         PageSettings.RemoveFromSession(PageSettingsKey.CampaignPageSettings);
     }
     return(RedirectToAction("Index"));
 }
Beispiel #4
0
        /// <summary>
        /// Przywrócenie informacji o słownikach potrzebnych do zbudowania modelu
        /// </summary>
        /// <param name="model">Obiekt modelu</param>
        private void RestoreDictionariesState(CampaignListViewModel model)
        {
            if (model.Filters == null)
            {
                return;
            }

            if (model.Filters.Priorities == null)
            {
                var selectedId = model.Filters.FilterPriorityId;
                model.Filters.Priorities       = new SelectList(_priorityRepository.Priorities, "Id", "Name");
                model.Filters.FilterPriorityId = selectedId;
            }

            if (model.Filters.YesNo == null)
            {
                var active = model.Filters.FilterActive;
                model.Filters.YesNo        = new SelectList(YesNoDictionary.GetList(), "Value", "Key");
                model.Filters.FilterActive = active;
            }
        }
Beispiel #5
0
        public CampaignListViewModel GetPaginatedCampaigns(List <FilterValue> filterValues, int pageSize, int pageNumber, Guid idAccount, IDataProtector protector, Guid userid, Guid _typeuser)
        {
#if DEBUG
            var myWatch = new Stopwatch();
            myWatch.Start();
#endif

            var itemResult     = new CampaignListViewModel();
            var campaigns      = _campaignDao.GetPaginatedCampaignList(filterValues, pageSize, pageNumber, idAccount);
            var countCampaigns = _campaignDao.GetPaginatedCampaignCount(filterValues, pageSize, pageNumber, idAccount);

            foreach (var campaign in campaigns)
            {
                var ts = campaign.EndDate - DateTime.Now;

                int numberNotImplementedTasks;
                int numberStartedTasks;
                int numberPendingTasks;
                int numberImplementedTasks;
                var totalTasks = GetCampaignStatistics(idAccount, campaign, out numberNotImplementedTasks, out numberStartedTasks, out numberPendingTasks, out numberImplementedTasks);

                var usercampaign = _userCanpaignDao.GetCampaignById(campaign.Id, userid);
                if (_typeuser.Equals(new Guid("30DB815C-8B82-47EE-9279-B28922BEB616")))
                {
                    if (usercampaign.Count > 0)
                    {
                        var cvm = new CampaignItemViewModel
                        {
                            EndDate       = campaign.EndDate,
                            Id            = protector.Protect(campaign.Id.ToString()),
                            Name          = campaign.Name,
                            StartDate     = campaign.StartDate,
                            RemainingDays = ts.Days,

                            ImplementedTaskPercent    = (totalTasks > 0) ? ((numberImplementedTasks * 100) / totalTasks) + "%" : "0%",
                            NotImplementedTaskPercent = (totalTasks > 0) ? ((numberNotImplementedTasks * 100) / totalTasks) + "%" : "0%",
                            StartedTaskPercent        = (totalTasks > 0) ? ((numberStartedTasks * 100) / totalTasks) + "%" : "0%",
                            PendingTaskPercent        = (totalTasks > 0) ? ((numberPendingTasks * 100) / totalTasks) + "%" : "0%",
                            CountImplementedTasks     = numberImplementedTasks,
                            CountNotImplementedTasks  = numberNotImplementedTasks,
                            CountPendingTasks         = numberPendingTasks,
                            CountStartedTasks         = numberStartedTasks,
                            TotalTasks = totalTasks
                        };


                        itemResult.CampaignList.Add(cvm);
                    }
                }
                else
                {
                    var cvm = new CampaignItemViewModel
                    {
                        EndDate       = campaign.EndDate,
                        Id            = protector.Protect(campaign.Id.ToString()),
                        Name          = campaign.Name,
                        StartDate     = campaign.StartDate,
                        RemainingDays = ts.Days,

                        ImplementedTaskPercent    = (totalTasks > 0) ? ((numberImplementedTasks * 100) / totalTasks) + "%" : "0%",
                        NotImplementedTaskPercent = (totalTasks > 0) ? ((numberNotImplementedTasks * 100) / totalTasks) + "%" : "0%",
                        StartedTaskPercent        = (totalTasks > 0) ? ((numberStartedTasks * 100) / totalTasks) + "%" : "0%",
                        PendingTaskPercent        = (totalTasks > 0) ? ((numberPendingTasks * 100) / totalTasks) + "%" : "0%",
                        CountImplementedTasks     = numberImplementedTasks,
                        CountNotImplementedTasks  = numberNotImplementedTasks,
                        CountPendingTasks         = numberPendingTasks,
                        CountStartedTasks         = numberStartedTasks,
                        TotalTasks = totalTasks
                    };


                    itemResult.CampaignList.Add(cvm);
                }
            }

#if DEBUG
            myWatch.Stop();
            Debugger.Log(0, "Campañas", $"ms: {myWatch.ElapsedMilliseconds}");
#endif

            return(ConfigurePagination(itemResult, pageNumber, pageSize, filterValues, countCampaigns));
        }
Beispiel #6
0
        public void CampaignsControllerTestMethod()
        {
            /// mock dla priorytetów
            Mock <IPriorityRepository> priorityMock = new Mock <IPriorityRepository>();
            // priorityMock.Setup(m => m.Priorities).Returns((MockData.Priorities).AsQueryable());

            /// mock dla kampanii
            Mock <ICampaignRepository> campaignMock = new Mock <ICampaignRepository>();
            // campaignMock.Setup(m => m.Campaigns).Returns((MockData.Campaigns).AsQueryable());

            /// mock dla użytkowników
            Mock <IUsersRepository> usersMock = new Mock <IUsersRepository>();
            //usersMock.Setup(m => m.Users).Returns((MockData.Users).AsQueryable());

            /// Utworzenie kontrolera kampanii
            CampaignController campaignController = new CampaignController(campaignMock.Object, priorityMock.Object, usersMock.Object);

            campaignController.ItemsPerPage = 6;

            /// Wywołanie akcji Index
            ViewResult view = (ViewResult)campaignController.Index(2, null, null);

            /// Weryfikacja wyników widoku
            /// Model nie może być null
            Assert.AreNotEqual(null, view.Model);
            CampaignListViewModel model = (CampaignListViewModel)view.Model;

            ///Lista kampani nie może być null
            Assert.AreNotEqual(null, model.Campaigns);

            ///Model musi być typu CampaignListViewModel
            Assert.IsInstanceOfType(model, typeof(CampaignListViewModel));

            ///Widok musi mieć nazwę Index
            Assert.IsTrue(view.ViewName == "Index");

            ///Bieżąca strona musi mieć numer 2
            Assert.AreEqual(2, model.CurrentPage);

            ///Liczba elementów na stronie musi być 6
            Assert.AreEqual(6, model.ItemsPerPage);

            ///Liczba wszystkich znalezionych kampanii musi być równa liczbie obiektów z mock-a
            Assert.AreEqual(campaignMock.Object.Campaigns.Count(), model.NumberOfResults);

            ///Liczba zwróconych użytkownikowi kampanii na bieżącej stronie musi być 6
            //Assert.AreEqual(6, model.Campaigns.Count);

            /// Wywołanie akcji listy kampanii
            //RedirectToRouteResult redirection = (RedirectToRouteResult)campaignController.List(new CampaignListViewModel
            //	{
            //		//Filters = new CampaignListViewModelFilter
            //		//{
            //		//	FilterActive = false
            //		//}
            //	});

            /// Weryfikacja wyników
            /// Przekierowanie nie może być null-em
            //Assert.IsNotNull(redirection);

            /////RouteValues nie mogą być null-em
            //Assert.IsNotNull(redirection.RouteValues);
            //Assert.IsTrue(redirection.RouteValues.Count > 0);

            /////RouteValues muszą zawierać akcję o nazwie Index
            //Assert.IsTrue(redirection.RouteValues["action"].ToString() == "Index");

            ///Wywołanie metody GET do pobierania listy kampanii
            view  = (ViewResult)campaignController.Index(null, null, null);
            model = (CampaignListViewModel)view.Model;

            ///Lista kampanii musi wynosić 4 (na stronie)
            //  Assert.AreEqual(4, model.Campaigns.Count);

            ///Wywołanie akcji z filtrowaniem
            //redirection = (RedirectToRouteResult)campaignController.List(new CampaignListViewModel
            //{
            //	//Filters = new CampaignListViewModelFilter
            //	//{
            //	//	FilterActive = true,
            //	//	FilterPriorityId = 1,
            //	//	FilterStartDateFrom = DateTime.Now.AddDays(-8).Date,
            //	//	FilterStartDateTo = DateTime.Now.AddDays(-4).Date
            //	//}
            //});
            //Assert.IsNotNull(redirection);
            //Assert.IsNotNull(redirection.RouteValues);
            //Assert.IsTrue(redirection.RouteValues.Count > 0);
            //Assert.IsTrue(redirection.RouteValues["action"].ToString() == "Index");

            ///Sprawdzenie wyników
            view  = (ViewResult)campaignController.Index(null, null, null);
            model = (CampaignListViewModel)view.Model;
            //    Assert.AreEqual(2, model.Campaigns.Count);

            //Sprawdzenie czy zwróciono spodziewane obiekty kampanii
            //Assert.IsTrue(model.Campaigns[0].Name == "Kampania 1");
            //Assert.IsTrue(model.Campaigns[1].Name == "Kampania 2");
        }
        public CampaignListViewModel GetPaginatedCampaignsDinamic(List <FilterValue> filterValues, int pageSize, int pageNumber, Guid idAccount, IDataProtector protector, Guid userid, Guid _typeuser)
        {
#if DEBUG
            var myWatch = new Stopwatch();
            myWatch.Start();
#endif

            var itemResult     = new CampaignListViewModel();
            var campaigns      = _campaignDao.GetPaginatedCampaignListbyUser(filterValues, pageSize, pageNumber, idAccount, userid, _typeuser);
            var countCampaigns = _campaignDao.GetPaginatedCampaignCount(filterValues, pageSize, pageNumber, idAccount, _typeuser, userid);
            var _data          = _taskCampaignDao.statusAllow(idAccount, pageNumber, pageSize);
            foreach (var campaign in campaigns)
            {
                var ts = campaign.EndDate - DateTime.Now;

                int numberNotImplementedTasks;
                int numberStartedTasks;
                int numberPendingTasks;
                int numberImplementedTasks;
                //var totalTasks = GetCampaignStatistics(idAccount, campaign, out numberNotImplementedTasks, out numberStartedTasks, out numberPendingTasks, out numberImplementedTasks);
                var totalTasks   = _campaignDao.NumbertaskbyCampaign(campaign.Id);
                var usercampaign = _userCanpaignDao.GetCampaignById(campaign.Id, userid);
                if (_typeuser.Equals(new Guid("30DB815C-8B82-47EE-9279-B28922BEB616")))
                {
                    if (usercampaign.Count > 0)
                    {
                        var cvm = new CampaignItemViewModel
                        {
                            EndDate       = campaign.EndDate,
                            Id            = protector.Protect(campaign.Id.ToString()),
                            Name          = campaign.Name,
                            StartDate     = campaign.StartDate,
                            RemainingDays = ts.Days,

                            //ImplementedTaskPercent = (totalTasks > 0) ? ((numberImplementedTasks * 100) / totalTasks) + "%" : "0%",
                            //NotImplementedTaskPercent = (totalTasks > 0) ? ((numberNotImplementedTasks * 100) / totalTasks) + "%" : "0%",
                            //StartedTaskPercent = (totalTasks > 0) ? ((numberStartedTasks * 100) / totalTasks) + "%" : "0%",
                            //PendingTaskPercent = (totalTasks > 0) ? ((numberPendingTasks * 100) / totalTasks) + "%" : "0%",
                            //CountImplementedTasks = numberImplementedTasks,
                            //CountNotImplementedTasks = numberNotImplementedTasks,
                            //CountPendingTasks = numberPendingTasks,
                            //CountStartedTasks = numberStartedTasks,
                            TotalTasks = totalTasks
                        };
                        int aux = 0;
                        int max = 0;

                        foreach (var allow in _data)
                        {
                            aux = _taskCampaignDao.GetTaskCountByCampaignAndStatusStadi(allow.Name, campaign.Id, idAccount);
                            max = (aux > max) ? aux : max;
                            cvm.sectionCampaign.Add(new SectionCampaignDinamicViewModels  {
                                name = allow.Name, total = aux, percent = (totalTasks > 0) ? ((aux * 100) / totalTasks) + "%" : "0%", color = allow
                                                                                                                                              .color
                            });
                        }
                        itemResult.CampaignList.Add(cvm);
                    }
                }
                else
                {
                    var cvm = new CampaignItemViewModel
                    {
                        EndDate       = campaign.EndDate,
                        Id            = protector.Protect(campaign.Id.ToString()),
                        Name          = campaign.Name,
                        StartDate     = campaign.StartDate,
                        RemainingDays = ts.Days,

                        //ImplementedTaskPercent = (totalTasks > 0) ? ((numberImplementedTasks * 100) / totalTasks) + "%" : "0%",
                        //NotImplementedTaskPercent = (totalTasks > 0) ? ((numberNotImplementedTasks * 100) / totalTasks) + "%" : "0%",
                        //StartedTaskPercent = (totalTasks > 0) ? ((numberStartedTasks * 100) / totalTasks) + "%" : "0%",
                        //PendingTaskPercent = (totalTasks > 0) ? ((numberPendingTasks * 100) / totalTasks) + "%" : "0%",
                        //CountImplementedTasks = numberImplementedTasks,
                        //CountNotImplementedTasks = numberNotImplementedTasks,
                        //CountPendingTasks = numberPendingTasks,
                        //CountStartedTasks = numberStartedTasks,

                        TotalTasks = totalTasks
                    };
                    int aux = 0;
                    int max = 0;

                    foreach (var allow in _data)
                    {
                        aux = _taskCampaignDao.GetTaskCountByCampaignAndStatusStadi(allow.Name, campaign.Id, idAccount);
                        max = (aux > max) ? aux : max;
                        cvm.sectionCampaign.Add(new SectionCampaignDinamicViewModels
                        {
                            name    = allow.Name,
                            total   = aux,
                            percent = (totalTasks > 0) ? ((aux * 100) / totalTasks) + "%" : "0%",
                            color   = allow
                                      .color
                        });
                    }

                    itemResult.CampaignList.Add(cvm);
                }
            }

#if DEBUG
            myWatch.Stop();
            Debugger.Log(0, "Campañas", $"ms: {myWatch.ElapsedMilliseconds}");
#endif

            return(ConfigurePagination(itemResult, pageNumber, pageSize, filterValues, countCampaigns));
        }
Beispiel #8
0
        public ActionResult CampaignList()
        {
            CampaignListViewModel model = new CampaignListViewModel();

            return(View(model));
        }
Beispiel #9
0
        protected async override void OnAppearing()
        {
            var listViewModel = new CampaignListViewModel();

            listView.ItemsSource = await listViewModel.GetCampaignList();
        }