88 lines
4.1 KiB
C#
88 lines
4.1 KiB
C#
using AyCode.Database.DbSets.Users;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using TIAM.Database.DataLayers.ServiceProviders;
|
|
using TIAM.Database.DbContexts.Admins;
|
|
using TIAM.Database.DbSets.Permissions;
|
|
using TIAM.Database.DbSets.Products;
|
|
using TIAM.Database.DbSets.Users;
|
|
using TIAM.Entities.Permissions;
|
|
using TIAM.Entities.Products;
|
|
using TIAM.Entities.TransferDestinations;
|
|
using TIAM.Entities.Users;
|
|
using TIAM.Models.Dtos.Users;
|
|
|
|
namespace TIAM.Database.DataLayers.Admins
|
|
{
|
|
public class AdminDal : DalBase<AdminDbContext>
|
|
{
|
|
public AdminDal() : base()
|
|
{
|
|
}
|
|
|
|
public TransferDestination? GetTransferDestinationById(Guid transferDestinationId, bool autoInclude = false) => Session(ctx=>ctx.TransferDestinations.FirstOrDefault(x=>x.Id == transferDestinationId));
|
|
|
|
public User? GetUserById(Guid userId, bool autoInclude = false) => Session(x => x.GetUserById(userId, autoInclude));
|
|
public User? GetUserByEmail(string email, bool autoInclude = false) => Session(x => x.GetUserByEmail(email, autoInclude));
|
|
|
|
public UserModelDto? GetUserModelDtoById(Guid userId) => Session(x => x.GetUserModelDtoById(userId));
|
|
public Task<UserModelDto?> GetUserModelDtoByIdAsync(Guid userId) => SessionAsync(x => x.GetUserModelDtoById(userId));
|
|
public UserModelDto? GetUserModelDtoByEmail(string email) => Session(x => x.GetUserModelDtoByEmail(email));
|
|
|
|
public string? GetUserJsonById(Guid userId) => Session(ctx => ctx.GetUserById(userId)?.ToJson());
|
|
public string GetUsersJson() => Session(ctx => ctx.Users.ToJson());
|
|
|
|
public Product? GetProductById(Guid contextId) => Session(x => x.GetProductById(contextId));
|
|
|
|
public UserProductMapping? GetUserProductMappingById(Guid userProductMappingId, bool autoInclude = true) => Session(x => x.GetUserProductMappingById(userProductMappingId, autoInclude));
|
|
|
|
public List<PermissionContextMapping> GetPermissionContextsView(Guid subjectId, Guid contextId)
|
|
=> Session(x => x.GetPermissionContextsView(subjectId, contextId).ToList());
|
|
|
|
public List<PermissionContextMapping> GetPermissionContextsViewBySubjectId(Guid contextId)
|
|
=> Session(x => x.GetPermissionContextsViewBySubjectId(contextId).ToList());
|
|
|
|
public List<PermissionContextMapping> GetPermissionContextsViewByContextId(Guid contextId)
|
|
=> Session(x => x.GetPermissionContextsViewByContextId(contextId).ToList());
|
|
|
|
public Task<List<PermissionContextMapping>> GetPermissionContextsViewByContextIdAsync(Guid contextId)
|
|
=> SessionAsync(x => x.GetPermissionContextsViewByContextId(contextId).ToList());
|
|
|
|
//public Task<List<User>> GetUsersAsync()
|
|
//{
|
|
// return Context.Users.ToListAsync();
|
|
//}
|
|
|
|
//public Task<User?> GetUserByEmailAsync(string email)
|
|
//{
|
|
// Console.WriteLine($"Getting user from db {email}");
|
|
// var emailLower = email.ToLower();
|
|
// return Context.Users.SingleOrDefaultAsync(x=>x.EmailAddress.ToLower() == emailLower);
|
|
//}
|
|
|
|
//public Task<bool> CreateUserAsync(User user)
|
|
//{
|
|
// user.Created = DateTime.UtcNow;
|
|
// user.Modified = DateTime.UtcNow;
|
|
// Context.Users.Add(user);
|
|
// Console.WriteLine($"Saving user to db {user.Id}, {user.EmailAddress}, {user.PhoneNumber}, {user.Password}");
|
|
// return Context.SaveChangesAsync().ContinueWith(x=>x.Result > 0);
|
|
//}
|
|
|
|
//public Task<bool> UpdateUserAsync(User user)
|
|
//{
|
|
// var existingUser = Context.Users.FirstOrDefault(u => u.EmailAddress == user.EmailAddress);
|
|
// if (existingUser != null)
|
|
// {
|
|
// //user.Modified = DateTime.UtcNow; //ezt nem kell megadni, a háttérben ezt magától megcsinálja a DbContextBase - J.
|
|
// existingUser = user;
|
|
// Context.Users.Update(existingUser);
|
|
// return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
|
|
// }
|
|
// else
|
|
// {
|
|
// throw new Exception("User not found");
|
|
// }
|
|
//}
|
|
}
|
|
}
|