예제 #1
0
        // [Authorize]
        public async Task <IActionResult> GetByCategory(AdsPerPageViewModel input)
        {
            // Explicitly check the page in case someone wants to cheat :)
            input.Page = input.Page < 1 ? 1 : input.Page;

            var model = new GetAllViewModel
            {
                PageNumber   = input.Page,
                AdsCount     = await this.adsService.AllAdsByCategoryCountAsync(input.CategoryName, input.CityId),
                SortBy       = input.SortBy == null ? GlobalConstants.ByDateDescending : input.SortBy,
                CityId       = input.CityId,
                CategoryName = input.CategoryName,
                Cities       = await this.citiesService.GetAllCitiesAsync <CitySimpleViewModel>(),
            };

            // If we're on page 4 and decide to filter by city, and the ads count are not enough for 4 pages, pagination will break.
            // Therefore, we need to explicitly check each time and then get all model Ads.
            if (model.AdsCount <= GlobalConstants.ItemsPerPage)
            {
                model.PageNumber = 1;
            }

            model.Ads = await this.adsService.GetByCategoryAsync <AdsShortDetailsViewModel>(input.CategoryName, input.SortBy, input.CityId, model.PageNumber);

            return(this.View(model));
        }
예제 #2
0
        public JsonResult GetAll()
        {
            var getAllViewModel = new GetAllViewModel();

            var allTasks           = _taskService.GetAllByUserId(WebSecurity.CurrentUserId);
            var allTasksViewModels = (from task in allTasks
                                      select new TaskViewModel
            {
                Id = task.Id,
                Title = task.Title,
                ShortTitle = task.ShortTitle,
                Description = task.Description,
                DurationMinutes = task.DurationMinutes,
                Repetitions = task.Repetitions,
                Theme = (TaskTheme)task.Theme,
                ThemeName = ((TaskTheme)task.Theme).ToString().ToLower(),
                Order = task.Order,
                DateCreated = task.DateCreated,
                IsArchived = task.IsArchived,
                HasNoCompletedItems = !task.CompletedTaskItems.Any()
            }).ToList();

            getAllViewModel.ActiveTasks   = allTasksViewModels.Where(x => !x.IsArchived).OrderBy(x => x.Order).ToList();
            getAllViewModel.ArchivedTasks = allTasksViewModels.Where(x => x.IsArchived).OrderByDescending(x => x.DateCreated).ToList();

            return(Json(_validationHelper.ModelStateToJsonResult(ModelState, getAllViewModel), JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public void ExecuteGetAll()
        {
            var getAllViewModel = new GetAllViewModel(new ViewDummy())
            {
                CertificateService = service
            };

            True(!string.IsNullOrWhiteSpace(getAllViewModel.PerformGetAll()));
        }
        public IActionResult GetByUser(string id, int currentPage = 1)
        {
            var skip      = (currentPage - 1) * AnnouncementsConstants.AnnouncementsPerPage;
            var pageModel = new Page
            {
                CurrentPage = currentPage,
            };
            var announcementViewModel = this.announcementService.GetByUser <AnnouncementViewModel>(id);
            var viewModel             = new GetAllViewModel()
            {
                Announcements = announcementViewModel,
                Page          = pageModel,
            };

            return(this.View(viewModel));
        }
        public IActionResult Search(string search, string category, string city, int currentPage = 1)
        {
            var skip      = (currentPage - 1) * AnnouncementsConstants.AnnouncementsPerPage;
            var pageModel = new Page
            {
                CurrentPage = currentPage,
            };
            var announcementViewModel = this.announcementService.GetByKeyWord <AnnouncementViewModel>(search, category, city);
            var viewModel             = new GetAllViewModel()
            {
                Announcements = announcementViewModel,
                Page          = pageModel,
            };

            return(this.View(viewModel));
        }
예제 #6
0
        public IActionResult Index()
        {
            var        db   = new FreebayDb(_connectionString);
            List <int> list = HttpContext.Session.Get <List <int> >("Ids");

            if (list == null)
            {
                list = new List <int>();
            }
            HttpContext.Session.Set("Ids", list);
            var vm = new GetAllViewModel
            {
                Ids   = list,
                Posts = db.GetAllPosts()
            };

            return(View(vm));
        }
예제 #7
0
        public async Task <IActionResult> MyAds(int page = 1)
        {
            page = page < 1 ? 1 : page;

            var user = await this.userManager.GetUserAsync(this.User);

            var adsPerPage = await this.adsService.GetMyAdsAsync <AdsShortDetailsViewModel>(user.Id, page);

            var allMyAdsCount = await this.adsService.GetAdsCountByUserIdAsync(user.Id);

            var model = new GetAllViewModel
            {
                Ads        = adsPerPage,
                AdsCount   = allMyAdsCount,
                PageNumber = page,
            };

            return(this.View(model));
        }
        public IActionResult AnnouncementsByCategory(string categoryName, int currentPage = 1)
        {
            var skip      = (currentPage - 1) * AnnouncementsConstants.AnnouncementsPerPage;
            var pageModel = new Page
            {
                CurrentPage = currentPage,
            };

            pageModel.AnnouncementsCount = this.announcementService.AllAnnouncementByCategoryCount(categoryName);

            var announcementViewModel = this.announcementService.GetByCategory <AnnouncementViewModel>(categoryName, skip);
            var categories            = this.categoryService.GetAll <IndexCategoriesView>();
            var viewModel             = new GetAllViewModel()
            {
                Announcements = announcementViewModel,
                Page          = pageModel,
                Categories    = categories,
            };

            return(this.View(viewModel));
        }
예제 #9
0
        public IActionResult AllAnnouncements(int currentPage = 1)
        {
            var skip      = (currentPage - 1) * AnnouncementsConstants.AnnouncementsPerPage;
            var pageModel = new Page
            {
                CurrentPage = currentPage,
            };
            var totalAnnouncement     = this.announcementService.AllAnnouncementCount();
            var announcementViewModel = this.announcementService.GetByCreatedOn <AnnouncementViewModel>(skip);
            var categoriesViewModel   = this.categoriesService.GetAll <IndexCategoriesView>();

            pageModel.AnnouncementsCount = totalAnnouncement;
            var viewModel = new GetAllViewModel()
            {
                Announcements = announcementViewModel,
                Categories    = categoriesViewModel,
                Page          = pageModel,
            };

            return(this.View(viewModel));
        }