57 lines
1.8 KiB
C#
57 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using TIAM.Database.DbContexts;
|
|
using TIAM.Entities.Users;
|
|
|
|
namespace TIAM.Database.DataLayers.Users
|
|
{
|
|
public class AdminDal : TiamDalBase<AdminDbContext>
|
|
{
|
|
|
|
public AdminDal() : base()
|
|
{
|
|
}
|
|
|
|
public Task<List<User>> GetUsersAsync()
|
|
{
|
|
return Ctx.Users.ToListAsync();
|
|
}
|
|
|
|
public Task<User?> GetUserByEmailAsync(string email)
|
|
{
|
|
Console.WriteLine($"Getting user from db {email}");
|
|
var emailLower = email.ToLower();
|
|
return Ctx.Users.SingleOrDefaultAsync(x=>x.Email.ToLower() == emailLower);
|
|
}
|
|
|
|
public Task<bool> CreateUserAsync(User user)
|
|
{
|
|
user.Created = DateTime.UtcNow;
|
|
user.Modified = DateTime.UtcNow;
|
|
Ctx.Users.Add(user);
|
|
Console.WriteLine($"Saving user to db {user.Id}, {user.Email}, {user.PhoneNumber}, {user.Password}");
|
|
return Ctx.SaveChangesAsync().ContinueWith(x=>x.Result > 0);
|
|
}
|
|
|
|
public Task<bool> UpdateUserAsync(User user)
|
|
{
|
|
var existingUser = Ctx.Users.FirstOrDefault(u => u.Email == user.Email);
|
|
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;
|
|
Ctx.Users.Update(existingUser);
|
|
return Ctx.SaveChangesAsync().ContinueWith(x => x.Result > 0);
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("User not found");
|
|
}
|
|
}
|
|
}
|
|
}
|