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 { public AdminDal() : base() { } public Task> GetUsersAsync() { return Ctx.Users.ToListAsync(); } public Task 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 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 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"); } } } }