Compare commits

...

3 Commits

Author SHA1 Message Date
e1f9b65d84 Merge pull request 'repos' (#1) from repos into main
Reviewed-on: https://git.georesinwaybill.ru/espada/renis-backend/pulls/1
2024-09-07 09:15:10 +00:00
Nikolai Papin
f94d3e79df Polis repo 2024-09-07 12:13:43 +03:00
Nikolai Papin
f669a44a29 User repo 2024-09-07 12:02:42 +03:00
4 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,14 @@
using Renis.Database.Models;
namespace Renis.Repositories;
public interface IPolisRepository
{
public Task<bool> AddPolis(Polis polis);
public Task<bool> UpdatePolis(Polis polis);
public Task<bool> DeletePolis(Polis polis);
public Task<Polis?> GetPolisById(long id);
public Task<Polis?> GetPolisByNumber(string number);
public IQueryable<Polis> GetPolises();
public Task<bool> Save();
}

View File

@ -0,0 +1,14 @@
using Renis.Database.Models;
namespace Renis.Repositories;
public interface IUserRepository
{
public Task<bool> AddUser(User user);
public Task<bool> UpdateUser(User user);
public Task<bool> DeleteUser(User user);
public Task<User?> GetUserById(long id);
public Task<User?> GetUserByPhone(string phone);
public IQueryable<User> GetUsers();
public Task<bool> Save();
}

View File

View File

@ -0,0 +1,48 @@
using Microsoft.EntityFrameworkCore;
using Renis.Database;
using Renis.Database.Models;
namespace Renis.Repositories;
public class UserRepository(ApplicationContext db) : IUserRepository
{
private readonly ApplicationContext _db = db;
public async Task<bool> AddUser(User user)
{
_db.Users.Add(user);
return await Save();
}
public async Task<bool> DeleteUser(User user)
{
_db.Users.Remove(user);
return await Save();
}
public async Task<User?> GetUserById(long id)
{
return await _db.Users.FirstOrDefaultAsync(x => x.Id == id);
}
public async Task<User?> GetUserByPhone(string phone)
{
return await _db.Users.FirstOrDefaultAsync(x => x.Phone == phone);
}
public IQueryable<User> GetUsers()
{
return _db.Users.AsQueryable();
}
public async Task<bool> Save()
{
return await _db.SaveChangesAsync() > 0;
}
public async Task<bool> UpdateUser(User user)
{
_db.Users.Update(user);
return await Save();
}
}