refactoring email verification

This commit is contained in:
Shaun Walker
2020-02-04 15:14:27 -05:00
parent 0aed11e71c
commit ee682516c3
17 changed files with 187 additions and 60 deletions

View File

@ -0,0 +1,62 @@
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using Oqtane.Models;
namespace Oqtane.Repository
{
public class FileRepository : IFileRepository
{
private TenantDBContext db;
private readonly IPermissionRepository Permissions;
public FileRepository(TenantDBContext context, IPermissionRepository Permissions)
{
db = context;
this.Permissions = Permissions;
}
public IEnumerable<File> GetFiles(int FolderId)
{
IEnumerable<Permission> permissions = Permissions.GetPermissions("Folder", FolderId);
IEnumerable<File> files = db.File.Where(item => item.FolderId == FolderId);
foreach (File file in files)
{
file.Folder.Permissions = Permissions.EncodePermissions(FolderId, permissions);
}
return files;
}
public File AddFile(File File)
{
db.File.Add(File);
db.SaveChanges();
return File;
}
public File UpdateFile(File File)
{
db.Entry(File).State = EntityState.Modified;
db.SaveChanges();
return File;
}
public File GetFile(int FileId)
{
File file = db.File.Find(FileId);
if (file != null)
{
IEnumerable<Permission> permissions = Permissions.GetPermissions("Folder", file.FolderId);
file.Folder.Permissions = Permissions.EncodePermissions(file.FolderId, permissions);
}
return file;
}
public void DeleteFile(int FileId)
{
File File = db.File.Find(FileId);
db.File.Remove(File);
db.SaveChanges();
}
}
}