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

@ -19,6 +19,7 @@ namespace Oqtane.Repository
public virtual DbSet<Log> Log { get; set; }
public virtual DbSet<Notification> Notification { get; set; }
public virtual DbSet<Folder> Folder { get; set; }
public virtual DbSet<File> File { get; set; }
public TenantDBContext(ITenantResolver TenantResolver, IHttpContextAccessor accessor) : base(TenantResolver, accessor)
{

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

View File

@ -0,0 +1,14 @@
using System.Collections.Generic;
using Oqtane.Models;
namespace Oqtane.Repository
{
public interface IFileRepository
{
IEnumerable<File> GetFiles(int FolderId);
File AddFile(File File);
File UpdateFile(File File);
File GetFile(int FileId);
void DeleteFile(int FileId);
}
}