public async Task <UserWaifusAPI> GetUserWaifus(ulong userId) { try { IUser user = _client.GetUser(userId) ?? await _restClient.GetUserAsync(userId) as IUser; using (var soraContext = new SoraContext()) { var userwaifus = new UserWaifusAPI(); var userdb = Utility.OnlyGetUser(userId, soraContext); if (userdb == null || userdb.UserWaifus.Count == 0) { userwaifus.Success = false; return(userwaifus); } userwaifus.Success = true; userwaifus.Username = user?.Username ?? "Undefined"; userwaifus.AvatarUrl = user?.GetAvatarUrl(); foreach (var userWaifu in userdb.UserWaifus) { var waifu = soraContext.Waifus.FirstOrDefault(x => x.Id == userWaifu.WaifuId); if (waifu == null) { continue; } userwaifus.Waifus.Add(new UserWaifuAPI() { Count = userWaifu.Count, Id = waifu.Id, ImageUrl = waifu.ImageUrl, Name = waifu.Name, Rarity = WaifuService.GetRarityString(waifu.Rarity), SortRarity = waifu.Rarity }); } if (userwaifus.Waifus.Count == 0) { userwaifus.Success = false; return(userwaifus); } userwaifus.Waifus = userwaifus.Waifus.OrderByDescending(x => x.SortRarity).ToList(); return(userwaifus); } } catch (Exception e) { Console.WriteLine(e); } return(null); }
private async Task <List <InstagramModel> > GetWaifus() { var waifus = await WaifuService.GetWaifus(page); page++; if (waifus.Count == 0) { page = page--; } return(waifus.Select(w => new InstagramModel { PostImage = w.Image, ProfilePicture = w.User.ImgProfile, UserName = w.User.Name }).ToList()); }
public WaifuModule(WaifuService waifuService) { _waifuService = waifuService; }