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; using TIAM.Models.Dtos.Users; namespace TIAM.Database.DataLayers.Users { public class UserDal : AcUserDalBase, IDalBase { public UserDal() : base() { } public UserDal(UserDbContext context) { } public Task> GetUserModelDtoEmailsAsync() => SessionAsync(ctx => ctx.Users.Select(x => new UserModelDtoEmail(x)).ToList()); public async Task 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 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"); } } } }