using System; using System.Linq; using AutoMapper; using TOOHUCardAPI.Data.Models; namespace TOOHUCardAPI.Data.Repositories { public class UserRepository { private readonly AppDbContext _appDbContext; private readonly IMapper _mapper; public UserRepository(AppDbContext appDbContext, IMapper mapper) { _appDbContext = appDbContext; _mapper = mapper; } public User GetUser(string steamId) { return _appDbContext.Users.Where((user => user.SteamId.Equals(steamId))).FirstOrDefault(); } public User CreateUser(string steamId) { User user = new User() { SteamId = steamId, Vip = true, EndTime = DateTime.MaxValue, LevelList = string.Empty, PetLevel = 1 }; _appDbContext.Users.Add(user); _appDbContext.SaveChanges(); return user; } public User UpdateUser(User user) { var trackedUser = _appDbContext.Users.FirstOrDefault(u => u.SteamId == user.SteamId); if (trackedUser == default) { return trackedUser; } _appDbContext.Update(user); _appDbContext.SaveChanges(); return user; } public User GetOrCreateUser(string steamId) { User user = GetUser(steamId) ?? CreateUser(steamId); return user; } } }