52 lines
1.7 KiB
C#
52 lines
1.7 KiB
C#
using AyCode.Database.DataLayers.Users;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using TIAM.Database.DbContexts.Users;
|
|
using TIAM.Entities.Addresses;
|
|
using TIAM.Entities.Emails;
|
|
using TIAM.Entities.Profiles;
|
|
using TIAM.Entities.ServiceProviders;
|
|
using TIAM.Entities.Users;
|
|
|
|
namespace TIAM.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);
|
|
Profile profile = new Profile();
|
|
profile.Id = Guid.NewGuid();
|
|
var parts = user.EmailAddress.Split('@');
|
|
profile.Name = parts[0];
|
|
Context.Profiles.Add(profile);
|
|
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");
|
|
}
|
|
}
|
|
}
|
|
}
|