예제 #1
0
        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));
        }
예제 #2
0
        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;
        }
예제 #3
0
        //__________________________________________________________________________________

        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));
        }