/
Extrap
/
Network_technologies_Project
Обзор
Документация
Войти
/
Extrap
/
Network_technologies_Project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Project/Repositories/UserRepository.cs
63 строки
2 KB
Extrap
Решил трабл с отправкой тренировки
20 дек 2025, 18:48
20 дек 2025, 18:48
77f5498
Код
Авторство
О чём код?
using Microsoft.EntityFrameworkCore; using Project.Data; using Project.Interfaces; using Project.Models; using Project.Models.DTOs; namespace Project.Repositories { public class UserRepository : IUserRepository { private readonly AppDbContext _context; public UserRepository(AppDbContext context) { _context = context; } public async Task<User?> GetByEmailAsync(string email) { return await _context.Users.FirstOrDefaultAsync(u => u.Email == email); } public async Task<User> GetByIdAsync(Guid id) { return await _context.Users.FindAsync(id) ?? throw new KeyNotFoundException("User not found"); } public async Task<User> CreateAsync(RegisterRequest request, string passwordHash, string passwordSalt) { var user = new User { Id = Guid.NewGuid(), Email = request.Email, PasswordHash = passwordHash, PasswordSalt = passwordSalt, FirstName = request.FirstName, SecondName = request.SecondName, Age = request.Age, CreatedAt = DateTime.UtcNow }; _context.Users.Add(user); await _context.SaveChangesAsync(); return user; } public async Task<User> UpdateAsync(User user) { _context.Users.Update(user); await _context.SaveChangesAsync(); return user; } public async Task DeleteAsync(Guid id) { var user = await _context.Users.FindAsync(id); if (user == null) return; _context.Users.Remove(user); await _context.SaveChangesAsync(); } } }