82 lines
2.1 KiB
C#
82 lines
2.1 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Newtonsoft.Json;
|
|
using SkiaSharp;
|
|
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Server.SQL
|
|
{
|
|
[Table("user", Schema = "gamedb")]
|
|
public class User
|
|
{
|
|
[JsonIgnore] [Key]
|
|
public int id { get; set; }
|
|
public string uuid { get; set; }
|
|
[JsonIgnore]
|
|
public string mail { get; set; }
|
|
public string nickname { get; set; }
|
|
public int gold { get; set; }
|
|
public int free_cash { get; set; }
|
|
public int pay_cash { get; set; }
|
|
|
|
public bool buyCash(int buy)
|
|
{
|
|
if (buy == 0) { return true; }
|
|
int freeCash = free_cash;
|
|
int payCash = pay_cash;
|
|
freeCash -= buy;
|
|
if(freeCash < 0)
|
|
{
|
|
payCash += freeCash;
|
|
freeCash = 0;
|
|
}
|
|
|
|
if(payCash >= 0)
|
|
{
|
|
free_cash = freeCash;
|
|
pay_cash = payCash;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public class UserSQL : SQL<User>
|
|
{
|
|
public override DbSet<User> table { get; set; }
|
|
|
|
public User SelectUuid(string uuid)
|
|
{
|
|
return table.SingleOrDefault(data => data.uuid == uuid);
|
|
}
|
|
|
|
public User SelectMail(string mail)
|
|
{
|
|
return table.SingleOrDefault(data => data.mail == mail);
|
|
}
|
|
|
|
public void Update(User user)
|
|
{
|
|
User dbUser = table.SingleOrDefault(data => data.id == user.id);
|
|
dbUser.nickname = user.nickname;
|
|
dbUser.gold = user.gold;
|
|
dbUser.free_cash = user.free_cash;
|
|
dbUser.pay_cash = user.pay_cash;
|
|
table.Update(dbUser);
|
|
}
|
|
|
|
/// <summary>
|
|
/// uesr은 사용하지 않음.
|
|
/// </summary>
|
|
/// <param name="user_id"></param>
|
|
/// <returns></returns>
|
|
public override List<User> SelectUid(int user_id)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
|
|
}
|
|
}
|