/// <summary> /// Zbudowanie modelu /// </summary> /// <param name="statementType">Typ zestawienia</param> /// <param name="Page">Numer żądanej strony</param> /// <param name="SortExpression">Pole do sortowania</param> /// <param name="Ascending">Czy sortować rosnąco</param> /// <param name="filter">Obiekt filtrów</param> private StatisticsStatementListViewModel CreateModel(StatisticsStatementType statementType, int?Page, string SortExpression, bool?Ascending, StatisticsStatementListViewModelFilter filter) { var page = Page ?? 1; var sortExpression = string.IsNullOrEmpty(SortExpression) ? "TotalDisplayCount" : SortExpression; var ascending = Ascending.HasValue && Ascending.Value; const int itemsPerPage = 10; // Zbuduj obiekt informacyjny dla stronnicowania var paginationInfo = new AdPaginationInfo { Accending = ascending, ItemsPerPage = itemsPerPage, RequestedPage = page, SortExpression = sortExpression }; var statements = _repository.StatisticsStatements(filter, paginationInfo, statementType, (User.IsInRole("Admin") ? 0 : User.GetUserIDInt())); var model = new StatisticsStatementListViewModel { StatementType = statementType, Statement = statements.ToList(), CurrentPage = paginationInfo.RequestedPage, SortExpression = paginationInfo.SortExpression, NumberOfResults = paginationInfo.OutResultsFound, ItemsPerPage = paginationInfo.ItemsPerPage, SortAccending = paginationInfo.Accending, Filters = filter ?? new StatisticsStatementListViewModelFilter() }; // Określ adres powrotny w zależności od wybranego rodzaju zestawienia switch (statementType) { case StatisticsStatementType.Campaign: model.DestinationURL = "Campaign"; model.StatementTitle = "Zestawienie kampanii"; break; case StatisticsStatementType.MultimediaObject: model.DestinationURL = "MultimediaObjects"; model.StatementTitle = "Zestawienie obiektów multimedialnych"; break; default: model.StatementTitle = "Zestawienie"; break; } return(model); }
public ActionResult ClearFilters(StatisticsStatementListViewModel model) { // Usuń filtry if (Session != null) { Session.Remove(FilterSettingsKey.StatisticsStatementControllerFilterList.ToString()); PageSettings.RemoveFromSession(PageSettingsKey.StatisticsStatementCampaignsPageSettings); PageSettings.RemoveFromSession(PageSettingsKey.StatisticsStatementObjectsPageSettings); PageSettings.RemoveFromSession(PageSettingsKey.DevDetailsSettings); Session.Remove(FilterSettingsKey.DevDetailsFilterList.ToString()); } // Wybierz i zwróć model var actionName = ChooseAction(model.StatementType); return(RedirectToAction(actionName)); }
public ActionResult List(StatisticsStatementListViewModel model) { // Zapamiętaj filtry if (Session != null) { Session[FilterSettingsKey.StatisticsStatementControllerFilterList.ToString()] = model.Filters; PageSettings.RemoveFromSession(PageSettingsKey.StatisticsStatementCampaignsPageSettings); PageSettings.RemoveFromSession(PageSettingsKey.StatisticsStatementObjectsPageSettings); Session[FilterSettingsKey.DevDetailsFilterList.ToString()] = new StatisticsListViewModelFilter { FilterDateFrom = model.Filters.FilterDateFrom, FilterDateTo = model.Filters.FilterDateTo }; PageSettings.RemoveFromSession(PageSettingsKey.DevDetailsSettings); } // Wybierz i zbuduj model var actionName = ChooseAction(model.StatementType); return(RedirectToAction(actionName)); }
public ActionResult MultimediaObjectStatement(int?page, string sortExpression, bool?ascending) { // Odtwórz zapamiętane filtry StatisticsStatementListViewModelFilter filter = null; if (Session != null) { filter = Session[FilterSettingsKey.StatisticsStatementControllerFilterList.ToString()] as StatisticsStatementListViewModelFilter; } if (filter == null) { filter = new StatisticsStatementListViewModelFilter(); var filtr2 = new StatisticsListViewModelFilter { FilterDateFrom = filter.FilterDateFrom, FilterDateTo = filter.FilterDateTo }; Session[FilterSettingsKey.ObjDetailsFilterList.ToString()] = filtr2; } // Zapamiętaj aktualne filtry if (Session != null) { Session[FilterSettingsKey.StatisticsStatementControllerFilterList.ToString()] = filter; PageSettings.RemoveFromSessionExcept(PageSettingsKey.StatisticsStatementObjectsPageSettings); //FilterSettings.RemoveFromSessionExcept(FilterSettingsKey.StatisticsStatementControllerFilterList); PageSettings pageSettings = PageSettings.GetFromSession(PageSettingsKey.StatisticsStatementObjectsPageSettings); if (pageSettings != null) { if (!page.HasValue) { page = pageSettings.Page; } if (!ascending.HasValue) { ascending = pageSettings.Accending; } if (string.IsNullOrEmpty(sortExpression)) { sortExpression = pageSettings.SortExpression; } } else { pageSettings = new PageSettings(); } pageSettings.Page = page ?? 1; pageSettings.Accending = !ascending.HasValue || ascending.Value; Session[PageSettingsKey.StatisticsStatementObjectsPageSettings.ToString()] = pageSettings; } // Zbuduj i zwróć model StatisticsStatementListViewModel model = CreateModel(StatisticsStatementType.MultimediaObject, page, sortExpression, ascending, filter); var id = User.GetUserIDInt(); var u = _usersRepository.Users.Single(it => it.Id == id); ViewBag.AdPoints = u.AdPoints; return(View("Index", model)); }
public ActionResult CampaignStatement(int?Page, string SortExpression, bool?Ascending) { // Odtwórz zapamiętane filtry StatisticsStatementListViewModelFilter filter = null; if (Session != null) { filter = Session[FilterSettingsKey.StatisticsStatementControllerFilterList.ToString()] as StatisticsStatementListViewModelFilter; } if (filter == null) { filter = new StatisticsStatementListViewModelFilter(); } // Zapamiętaj aktualne filtry if (Session != null) { Session[FilterSettingsKey.StatisticsStatementControllerFilterList.ToString()] = filter; PageSettings.RemoveFromSessionExcept(PageSettingsKey.StatisticsStatementCampaignsPageSettings); FilterSettings.RemoveFromSessionExcept(FilterSettingsKey.StatisticsStatementControllerFilterList); PageSettings pageSettings = PageSettings.GetFromSession(PageSettingsKey.StatisticsStatementCampaignsPageSettings); if (pageSettings != null) { if (!Page.HasValue) { Page = pageSettings.Page; } if (!Ascending.HasValue) { Ascending = pageSettings.Accending; } if (string.IsNullOrEmpty(SortExpression)) { SortExpression = pageSettings.SortExpression; } } else { pageSettings = new PageSettings(); } pageSettings.Page = Page ?? 1; pageSettings.Accending = !Ascending.HasValue || Ascending.Value; // pageSettings.SortExpression = string.IsNullOrEmpty(SortExpression) ? "Id" : SortExpression; Session[PageSettingsKey.StatisticsStatementCampaignsPageSettings.ToString()] = pageSettings; } // Zbuduj i zwróć model StatisticsStatementListViewModel model = CreateModel(StatisticsStatementType.Campaign, Page, SortExpression, Ascending, filter); var id = User.GetUserIDInt(); var u = _usersRepository.Users.Single(it => it.Id == id); ViewBag.AdPoints = u.AdPoints; return(View("Index", model)); }