public ActionResult _SuggestPost() { SuggestViewModel model = new SuggestViewModel(); model.PopularNews = ModelMapper.ConvertToViewModel(_postService.GetAll(_ => _.Categories, _ => _.Comments).Take(4)); model.MostComments = ModelMapper.ConvertToViewModel( _postService.GetAll(_ => _.Categories, _ => _.Comments).OrderByDescending(_ => _.Comments.Count).Take(4)); return(PartialView(model)); }
public FileSelectorViewModel() { var naviHistory = new BrowseHistory <PathItem>(); NavigationViewModel = new NavigationViewModel(naviHistory); SuggestViewModel = new SuggestViewModel(naviHistory); SuggestViewModel.PropertyChanged += SuggestViewModel_PropertyChanged; //HistoryNavigationControl.DataContext = NavigationViewModel; //SuggestBox.DataContext = SuggestViewModel; NavigationViewModel.PropertyChanged += NavigationViewModel_PropertyChanged; }
//__________________________________________________________________________________ public async Task <IActionResult> SuggestList() { var SuggestViewModel = new SuggestViewModel(); SuggestViewModel.SuggestByDownload = new List <ApplicationPublishViewModel>(); SuggestViewModel.SuggestBySize = new List <ApplicationPublishViewModel>(); var download = _context.DownloadApplications .Include(a => a.ApplicationPublish) .GroupBy(s => s.ApplicationPublishId, (k, g) => g .Select(s => new { MaxApp = g.Max(s2 => s2.ApplicationPublishId), App = s })) .SelectMany(s => s) .OrderBy(s => s.MaxApp) .Select(s => s.App.ApplicationPublishId) .Skip(0) .Take(5).Distinct(); foreach (var item in await _context.ApplicationPublishs.Where(p => download.Contains(p.Id)).Include(m => m.Application).Include(m => m.Platform).ToListAsync()) { SuggestViewModel.SuggestByDownload.Add( new ApplicationPublishViewModel() { ApplicationPublish = item, RegisterDateShamsi = Persia.Calendar.ConvertToPersian(item.RegisterDate).ToString(), PublishDateShamsi = Persia.Calendar.ConvertToPersian(item.PublishDate).ToString(), PictureUrl = Utility.Tools.GetImageUrlFromByteArray(_context.ApplicationPictures.FirstOrDefault(p => p.ApplicationPublishId == item.Id).Data), ShowIcon = true, IsFavorite = !string.IsNullOrEmpty(this.User.Identity.Name) ? await _context.FavorieApplications .AnyAsync(f => f.ApplicationPublishId == item.Id && f.ApplicationStoreUserId == Tools.GetCurrentUserId(User)) : false, }); } var size = _context.ApplicationPublishs .GroupBy(s => s.Size, (k, g) => g .Select(s => new { MinSize = g.Min(s2 => s2.Size), App = s })) .SelectMany(s => s) .OrderBy(s => s.MinSize) .Select(s => s.App.Id) .Skip(0) .Take(5); foreach (var item in await _context.ApplicationPublishs.Where(p => size.Contains(p.Id)).Include(m => m.Application).Include(m => m.Platform).ToListAsync()) { SuggestViewModel.SuggestBySize.Add( new ApplicationPublishViewModel() { ApplicationPublish = item, RegisterDateShamsi = Persia.Calendar.ConvertToPersian(item.RegisterDate).ToString(), PublishDateShamsi = Persia.Calendar.ConvertToPersian(item.PublishDate).ToString(), PictureUrl = Utility.Tools.GetImageUrlFromByteArray(_context.ApplicationPictures.FirstOrDefault(p => p.ApplicationPublishId == item.Id).Data), ShowIcon = true, IsFavorite = !string.IsNullOrEmpty(this.User.Identity.Name) ? await _context.FavorieApplications .AnyAsync(f => f.ApplicationPublishId == item.Id && f.ApplicationStoreUserId == Tools.GetCurrentUserId(User)) : false, }); } this.ViewBag.ShowReturn = true; return(this.View(SuggestViewModel)); }