DB added and more
This commit is contained in:
58
TOOHUCardAPI/Data/Repositories/UserRepository.cs
Normal file
58
TOOHUCardAPI/Data/Repositories/UserRepository.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user