1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using Microsoft.EntityFrameworkCore;
- namespace MafiaTelegramBot.DataBase
- {
- public static class UserDao
- {
- //private static readonly List<UserEntity> DataBase = new();
- private static Mafia DataBase = new Mafia();
-
- private static readonly Dictionary<long,UserEntity> ActiveUsers = new();
- public static async Task<UserEntity> GetUserById(long id)
- {
- if (ActiveUsers.ContainsKey(id)) return ActiveUsers[id];
- var user = await Task.Run(()=> DataBase.Users.First(user1 => user1.Id == id));
- ActiveUsers.Add(user.Id, user);
- return user;
- }
- private static UserEntity ConvertToUser()
- {
- return new();
- }
-
- public static async Task Update(UserEntity userEntity)
- {
- if (await DataBase.Users.AnyAsync(user => user.Id == userEntity.Id))
- {
- DataBase.Update(userEntity);
- }
- else
- {
- DataBase.Add(userEntity);
- }
- await DataBase.SaveChangesAsync();
- }
- public static async Task<bool> UserExists(long id)
- {
- if (ActiveUsers.ContainsKey(id))
- return true;
- return await DataBase.Users.AnyAsync(user => user.Id == id);
- /*
- return await Task.Run(() =>
- {
- return ActiveUsers.ContainsKey(id) || DataBase.Users.AnyAsync(user => user.Id == id);
- });
- */
- }
- }
- }
|