92 lines
1.8 KiB
C#
92 lines
1.8 KiB
C#
|
using Contracts.BindingModels;
|
|||
|
using Contracts.SearchModels;
|
|||
|
using Contracts.StorageContracts;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace DatabaseImplement.Implements
|
|||
|
{
|
|||
|
public class RoleStorage : IRoleStorage
|
|||
|
{
|
|||
|
public RoleBindingModel? Delete(RoleSearchModel model)
|
|||
|
{
|
|||
|
if (model is null || model.Id is null)
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
var context = new Database();
|
|||
|
var role = context.Roles.FirstOrDefault(r => r.Id == model.Id);
|
|||
|
if (role is null)
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
context.Remove(role);
|
|||
|
context.SaveChanges();
|
|||
|
return role.GetBindingModel();
|
|||
|
}
|
|||
|
|
|||
|
public RoleBindingModel? GetElement(RoleSearchModel model)
|
|||
|
{
|
|||
|
if (model is null || model.Id is null)
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
var context = new Database();
|
|||
|
return context.Roles
|
|||
|
.FirstOrDefault(r => r.Id == model.Id)
|
|||
|
?.GetBindingModel();
|
|||
|
}
|
|||
|
|
|||
|
public IEnumerable<RoleBindingModel> GetList(RoleSearchModel? model)
|
|||
|
{
|
|||
|
var context = new Database();
|
|||
|
if (model is null)
|
|||
|
{
|
|||
|
return context.Roles.Select(r => r.GetBindingModel());
|
|||
|
}
|
|||
|
if (model.Id is null)
|
|||
|
{
|
|||
|
return [];
|
|||
|
}
|
|||
|
return context.Roles
|
|||
|
.Where(r => r.Id == model.Id)
|
|||
|
.Select(r => r.GetBindingModel());
|
|||
|
}
|
|||
|
|
|||
|
public RoleBindingModel? Insert(RoleBindingModel model)
|
|||
|
{
|
|||
|
if (model is null)
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
var context = new Database();
|
|||
|
var newRole = Models.Role.ToRoleFromBinding(model);
|
|||
|
|
|||
|
context.Roles.Add(newRole);
|
|||
|
context.SaveChanges();
|
|||
|
|
|||
|
return newRole.GetBindingModel();
|
|||
|
}
|
|||
|
|
|||
|
public RoleBindingModel? Update(RoleBindingModel model)
|
|||
|
{
|
|||
|
var context = new Database();
|
|||
|
var role = context.Roles.FirstOrDefault(r => r.Id == model.Id);
|
|||
|
|
|||
|
if (role is null)
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
role.Update(model);
|
|||
|
|
|||
|
context.SaveChanges();
|
|||
|
return role.GetBindingModel();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|