MissnationBlazor/Mango.Database/DataLayers/Users/UserDal.cs

46 lines
1.5 KiB
C#

using AyCode.Database.DataLayers.Users;
using Mango.Database.DbContexts.Users;
using Mango.Entities.Addresses;
using Mango.Entities.Companies;
using Mango.Entities.Messages.Emails;
using Mango.Entities.Profiles;
using Mango.Entities.Users;
using Microsoft.EntityFrameworkCore;
namespace Mango.Database.DataLayers.Users
{
public class UserDal : AcUserDalBase<UserDbContext, User, Profile, UserToken, Company, UserToCompany, Address, EmailMessage>, IDalBase<UserDbContext>
{
public UserDal() : base()
{
}
public UserDal(UserDbContext context)
{
}
public async Task<bool> CreateUserAsync(User user)
{
Context.Users.Add(user);
Console.WriteLine($@"Saving user to db {user.Id}, {user.EmailAddress}, {user.PhoneNumber}, {user.Password}");
return await Context.SaveChangesAsync() > 0;
}
public async Task<bool> UpdateUserAsync(User user)
{
var existingUser = await Context.Users.CountAsync(u => u.EmailAddress == user.EmailAddress);
if (existingUser == 1)
{
//user.Modified = DateTime.UtcNow; //ezt nem kell megadni, a háttérben ezt magától megcsinálja a DbContextBase - J.
Context.Users.Update(user);
return await Context.SaveChangesAsync() > 0;
}
else
{
throw new Exception("User not found");
}
}
}
}