public List <Certificate> GetList(string userId)
    {
        return(_memoryCache.GetOrCreate(nameof(PublicViewModel).GenerateCacheKey(userId.ToString()), item =>
        {
            item.SlidingExpiration = CacheHelper.DefaultExpiration;

            return _repository.ListByUserId(userId).ToList();
        }));
    }
Example #2
0
    public async Task <FileResult> Zip()
    {
        var _user = await _userManager.GetUserAsync(User);

        var list = _repository.ListByUserId(_user.Id);

        if (list is null)
        {
            return(default);
    public async Task GetListByUserId()
    {
        // Arrange
        var certificate = await _context.Certificates.AsNoTracking().FirstAsync();

        var list = _context.Certificates.Where(e => e.UserId == certificate.UserId);

        // Act
        var repositoryResult = _repository.ListByUserId(certificate.UserId);

        // Assert
        Assert.Equal(list.Count(), repositoryResult.Count());
    }
    public IndexViewModel GetIndexViewModel(int page, string userId, string year, string find, Stage?stage)
    {
        page = page <= 0 ? 1 : page;

        var list = _repository.ListByUserId(userId);

        list = _filterService.FilterOut(list, year, find, stage);

        var count = list.Count();

        var items = _pageService.GetDataToPage(list, count, ref page, includeCheck: true);

        var certificates = items.Select(i =>
        {
            var certificateViewModel = new CertificateViewModel
            {
                Id          = i.Id,
                Title       = i.Title,
                Description = i.Description,
                Date        = i.Date,
                Path        = i.Path
            };

            return(certificateViewModel);
        });

        var years = EnumerableHelper.GetYears(_localizer["All"]);

        var stages = _stageService.GetStages(includeAllValue: true);

        IndexViewModel ivm = new IndexViewModel
        {
            Certificates  = certificates,
            Find          = find,
            Year          = year,
            Stage         = null,
            Years         = new SelectList(years),
            Stages        = new SelectList(stages, "EnumName", "Name"),
            Controller    = "Certificate",
            PageViewModel = new PageViewModel(count, page, Common.PageSize)
        };

        return(ivm);
    }