Blazorcrud.Server/Models/UploadRepository.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Blazorcrud.Shared.Data;
using Blazorcrud.Shared.Models;
using Microsoft.EntityFrameworkCore;

namespace Blazorcrud.Server.Models
{
    public class UploadRepository : IUploadRepository
    {
        private readonly AppDbContext _appDbContext;

        public UploadRepository(AppDbContext appDbContext)
        {
            _appDbContext = appDbContext;
        }

        public async Task<Upload> AddUpload(Upload upload)
        {
            var result = await _appDbContext.Uploads.AddAsync(upload);
            await _appDbContext.SaveChangesAsync();
            return result.Entity;
        }

        public async Task<Upload?> DeleteUpload(int Id)
        {
            var result = await _appDbContext.Uploads.FirstOrDefaultAsync(u => u.Id==Id);
            if (result!=null)
            {
                _appDbContext.Uploads.Remove(result);
                await _appDbContext.SaveChangesAsync();
            }
            else
            {
                throw new KeyNotFoundException("Upload not found");
            }
            return result;
        }

        public async Task<Upload?> GetUpload(int Id)
        {
            var result = await _appDbContext.Uploads.FirstOrDefaultAsync(u => u.Id==Id);
            if(result != null)
            {
                return result;
            }
            else
            {
                throw new KeyNotFoundException("Upload not found");
            }
        }

        public PagedResult<Upload> GetUploads(string? name, int page)
        {
            int pageSize = 5;

            if (name != null)
            {
                return _appDbContext.Uploads
                    .Where(u => u.FileName.Contains(name, StringComparison.CurrentCultureIgnoreCase))
                    .OrderBy(u => u.UploadTimestamp)
                    .GetPaged(page, pageSize);
后面还有 26 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。