public WaifuInfoStats GetFullWaifuInfoAsync(ulong targetId) { using (var uow = _db.GetDbContext()) { var wi = uow.Waifus.GetWaifuInfo(targetId); if (wi is null) { wi = new WaifuInfoStats { AffinityCount = 0, AffinityName = null, ClaimCount = 0, ClaimerName = null, Claims = new List <string>(), Fans = new List <string>(), DivorceCount = 0, FullName = null, Items = new List <WaifuItem>(), Price = 1 }; } return(wi); } }
public WaifuInfoStats GetFullWaifuInfoAsync(IGuildUser target) { using (var uow = _db.GetDbContext()) { var du = uow.DiscordUsers.GetOrCreate(target); var wi = uow.Waifus.GetWaifuInfo(target.Id); if (wi == null) { wi = new WaifuInfoStats { AffinityCount = 0, AffinityName = null, ClaimCount = 0, ClaimerName = null, Claims30 = new List <string>(), DivorceCount = 0, FullName = target.ToString(), Items = new List <WaifuItem>(), Price = 1 }; } return(wi); } }
/*public async Task<bool> GiftWaifuAsync(ulong from, int count, IUser giftedWaifu, WaifuItem itemObj) * { * if (!await _cs.RemoveAsync(from, "Bought waifu item", itemObj.Price*count, gamble: true)) * { * return false; * } * * using (var uow = _db.UnitOfWork) * { * var w = uow.Waifus.ByWaifuUserId(giftedWaifu.Id, set => set.Include(x => x.Items) * .Include(x => x.Claimer)); * if (w == null) * { * uow.Waifus.Add(w = new WaifuInfo() * { * Affinity = null, * Claimer = null, * Price = 1, * Waifu = uow.DiscordUsers.GetOrCreate(giftedWaifu), * }); * } * * for (int i = 0; i < count; i++) * { * AddItems(giftedWaifu, itemObj); * } * * if (w.Claimer?.UserId == from) * { * w.Price += (int)(itemObj.Price * count * 0.95); * } * else * w.Price += (itemObj.Price * count) / 2; * * await uow.CompleteAsync(); * } * * return true; * }*/ /*public void AddItems(IUser giftedWaifu, WaifuItem itemObj) * { * using (var uow = _db.UnitOfWork) * { * var w = uow.Waifus.ByWaifuUserId(giftedWaifu.Id, set => set.Include(x => x.Items) * .Include(x => x.Claimer)); * w.Items.Add(itemObj); * uow.Complete(); * } * }*/ public WaifuInfoStats GetFullWaifuInfoAsync(IGuildUser target) { using (var uow = _db.UnitOfWork) { var du = uow.DiscordUsers.GetOrCreate(target); var wi = uow.Waifus.GetWaifuInfo(target.Id); var name = target.Username; if (!string.IsNullOrWhiteSpace(target.Nickname)) { name = target.Nickname; } if (wi == null) { wi = new WaifuInfoStats { AffinityCount = 0, AffinityName = null, ClaimCount = 0, ClaimerName = null, Claims30 = new List <string>(), DivorceCount = 0, FullName = name, Items = new List <WaifuItem>(), Immune = false, Reputation = 0, Price = 1, Info = null }; } wi.FullName = name; return(wi); } }
public WaifuInfoStats GetCountInfoAsync(IUser target) { using (var uow = _db.UnitOfWork) { var wi = uow.Waifus.GetWaifuInfo(target.Id); if (wi == null) { wi = new WaifuInfoStats { ClaimCount = 0, }; } return(wi); } }