public DetailsPage() { InitializeComponent(); _viewModel = HeroesViewModel.Instance; BindingContext = _viewModel.HeroeSelected; }
public async Task <IActionResult> Heroes(string name = "", string startTime = "", string finishTime = "", //фильтр int page = 1, //пагинация SortState sortOrder = SortState.NameAsc) //сортировка { var hero = _context.Heroes.ToList().FirstOrDefault(h => h.Id == GetHeroIdFromToken(Request.Cookies[_tokenName])); if (hero != null)//если удалось получить учетку пользователя { IQueryable <Hero> heroes = _context.Heroes; var selectedStartTime = _context.Heroes.Min(h => h.CreationTime); //устанавливаем минимальное значение фильтра времени var selectedFinishTime = _context.Heroes.Max(h => h.CreationTime); //устанавливаем максимальное значение фильтра времени //фильтрация if (!string.IsNullOrWhiteSpace(name)) { heroes = heroes.Where(p => p.Name.ToLower().StartsWith(name.ToLower()));//если имя начинается с указаной строки БЕЗ учета регистра } if (!string.IsNullOrEmpty(startTime)) { selectedStartTime = ParseStringTime(startTime); heroes = heroes.Where(p => DateTime.Compare(p.CreationTime, selectedStartTime) > 0);//если создание героя позже указаной даты } if (!string.IsNullOrEmpty(finishTime)) { selectedFinishTime = ParseStringTime(finishTime); heroes = heroes.Where(p => DateTime.Compare(p.CreationTime, selectedFinishTime) < 0);//если создание героя раньше указаной даты } // сортировка switch (sortOrder) { case SortState.NameDesc: heroes = heroes.OrderByDescending(s => s.Name); break; default: heroes = heroes.OrderBy(s => s.Name); break; } // пагинация var count = await heroes.CountAsync(); var items = await heroes.Skip((page - 1) *PAGE_SIZE).Take(PAGE_SIZE).ToListAsync(); // формируем модель представления HeroesViewModel viewModel = new HeroesViewModel { PageViewModel = new PageViewModel(count, page, PAGE_SIZE), SortViewModel = new SortModel(sortOrder), FilterViewModel = new HeroFilterModel(name, selectedStartTime, selectedFinishTime), Heroes = items }; ViewData["menu-title"] = "Герои"; ViewData["hero"] = hero; return(View(viewModel)); } else { return(RedirectToAction("Index")); } }
public ActionResult Heroes() { ISteampoweredApi steam = new SteampoweredApi(_key); var heroes = steam.EconomyDota2Api.GetHeroes(); HeroesViewModel heroVms = _mapper.Map <HeroesViewModel>(heroes); return(View(heroVms)); }
public static HeroesViewModel ToViewModel(this Hero hero) { var vm = new HeroesViewModel { Id = hero.Id, Name = hero.Name, ValveName = hero.ValveName }; return(vm); }
public static HeroesViewModel ToViewModel(this Heroes hero) { var vm = new HeroesViewModel { Id = hero.Id, Name = hero.Name, ValveName = hero.ValveHeroName, CloudinaryUrl = hero.HeroImage.SmaillImageCloudinaryUrl }; return(vm); }
public async Task <ActionResult> Index() { var heroesVm = new HeroesViewModel(); try { heroesVm = await _heroService.GetAllHeroesAsync(); } catch (Exception ex) { heroesVm.HasError = true; heroesVm.ErrorMessage = ex.InnerException?.Message ?? ex.Message; } return(View(heroesVm)); }
public async Task <HeroesViewModel> GetAllHeroesAsync() { var heroes = await _heroRepository.GetAllHeroesWithReviews().ConfigureAwait(false); var heroesDto = _mapper.Map <List <HeroDTO> >(heroes); await heroesDto.CalculateMedian(); var sortedHeroes = heroesDto.OrderByDescending(h => h.Median).ToList(); var vm = _mapper.Map <List <HeroViewModel> >(sortedHeroes); var result = new HeroesViewModel() { HasError = false, Heroes = vm }; return(result); }
private void HeroesBtn_Click(object sender, RoutedEventArgs e) { DataContext = new HeroesViewModel(); }
public MainPage() { InitializeComponent(); BindingContext = _viewModel = HeroesViewModel.Instance; }