public Tuple <ResultCode, UserInfoDb> Refine(string userInput) { var hashMaker = new HashMaker(); var resultCode = ResultCode.SUCCESS; var userInfoDb = new UserInfoDb(); try { // Parsing var signInRequest = JsonConvert.DeserializeObject <RequestSignIn>(userInput); // Refining var salt = hashMaker.GetSalt(); var pwd = signInRequest.Password; string saltAndPwd = string.Concat(pwd, salt); string hashedPwd = hashMaker.GetSha256Hash(saltAndPwd); // Mapping userInfoDb.UserId = signInRequest.UserId.ToLower(); userInfoDb.Email = signInRequest.Email; userInfoDb.Salt = salt; userInfoDb.HashedPassword = hashedPwd; userInfoDb.HeroCollection = new List <int>(); var ret = new Tuple <ResultCode, UserInfoDb>(resultCode, userInfoDb); return(ret); } catch (Exception) { resultCode = ResultCode.LCN0002; var ret = new Tuple <ResultCode, UserInfoDb>(resultCode, userInfoDb); return(ret); } }
public async Task <ThumbnailResponse> GetThumbnailResponse(string rawVideoId) { if (_HohoemaApp.NiconicoContext == null) { return(null); } // using (var releaser = await _ThumbnailAccessLock.LockAsync()) { ThumbnailResponse res = null; res = await Util.ConnectionRetryUtil.TaskWithRetry(() => { return(_HohoemaApp.NiconicoContext.Video.GetThumbnailAsync(rawVideoId)); }, retryCount : 5, retryInterval : 1000 ); if (res != null) { await UserInfoDb.AddOrReplaceAsync(res.UserId.ToString(), res.UserName, res.UserIconUrl.AbsoluteUri); Debug.WriteLine("サムネ取得:" + rawVideoId); } else { Debug.WriteLine("サムネ取得失敗:" + rawVideoId); } return(res); } }
public async Task <UserDetail> GetUserDetail(string userId) { var userDetail = await ConnectionRetryUtil.TaskWithRetry(() => { return(_HohoemaApp.NiconicoContext.User.GetUserDetail(userId)); }); if (userDetail != null) { await UserInfoDb.AddOrReplaceAsync(userId, userDetail.Nickname, userDetail.ThumbnailUri); } return(userDetail); }
public async Task<bool> UpdateUser(UserInfoDb userInfo) { var user = await _context.UsersRights.SingleOrDefaultAsync(l => userInfo.UserId.Equals(l.UserId)); if (user == null) { throw new SecurityDbException( "UserId not exists", ExceptionType.NotFound, EntityType.UserRights, new[] { userInfo.UserId }); } user.UserLogin = userInfo.UserLogin; user.FirstName = userInfo.FirstName; user.MiddleName = userInfo.MiddleName; user.LastName = userInfo.LastName; await _context.SaveChangesAsync(); return true; }
public async Task<bool> AddUser(UserInfoDb userInfo, UserRightsDb userRightsDb) { if (await _context.UsersRights.AnyAsync(l => userInfo.UserId.Equals(l.UserId))) { throw new SecurityDbException( "UserId already exist", ExceptionType.NameExists, EntityType.UserRights, new[] { userInfo.UserId }); } var userRightsMapped = _mapper.Map<UserRights>(userInfo); await _context.UsersRights.AddAsync(userRightsMapped); await _context.SaveChangesAsync(); return await EditUserRightsByNames(userInfo.UserId, userRightsDb.Roles.Select(l => l.Name).ToArray(), userRightsDb.AccessFunctions.Select(l => l.Name).ToArray(), userRightsDb.AccessRights.Select(l => l.Name).ToArray(), userRightsDb.DeniedRights.Select(l => l.Name).ToArray()); }
public async Task <WatchApiResponse> GetWatchApiResponse(string rawVideoId, bool forceLowQuality = false, HarmfulContentReactionType harmfulContentReaction = HarmfulContentReactionType.None) { if (_HohoemaApp.NiconicoContext == null) { return(null); } if (!_HohoemaApp.IsLoggedIn) { return(null); } await WaitNicoPageAccess(); using (var releaser = await _NicoPageAccessLock.LockAsync()) { var res = await Util.ConnectionRetryUtil.TaskWithRetry(() => { return(_HohoemaApp.NiconicoContext.Video.GetWatchApiAsync( rawVideoId , forceLowQuality: forceLowQuality , harmfulReactType: harmfulContentReaction )); }); if (res != null && res.UploaderInfo != null) { var uploaderInfo = res.UploaderInfo; await UserInfoDb.AddOrReplaceAsync(uploaderInfo.id, uploaderInfo.nickname, uploaderInfo.icon_url); } if (res != null) { var data = await VideoInfoDb.GetEnsureNicoVideoInfoAsync(rawVideoId); if (data != null) { await VideoInfoDb.UpdateNicoVideoInfo(data, res); } } return(res); } }
public async Task <UserDetail> GetUserInfo(string userId) { if (_HohoemaApp.NiconicoContext == null) { return(null); } await WaitNicoPageAccess(); var user = await ConnectionRetryUtil.TaskWithRetry(() => { return(_HohoemaApp.NiconicoContext.User.GetUserDetail(userId)); }); if (user != null) { await UserInfoDb.AddOrReplaceAsync(userId, user.Nickname, user.ThumbnailUri); } return(user); }
protected override async Task ListPageNavigatedToAsync(CancellationToken cancelToken, NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { if (PlayableList.Value == null) { return; } CanEditMylist = false; // お気に入り状態の取得 _NowProcessFavorite = true; var favManager = HohoemaApp.FollowManager; IsFavoriteMylist.Value = favManager.IsFollowItem(FollowItemType.Mylist, PlayableList.Value.Id); CanChangeFavoriteMylistState.Value = IsFavoriteMylist.Value == true || favManager.CanMoreAddFollow(FollowItemType.Mylist); _NowProcessFavorite = false; IsLoginUserDeflist = false; IsUserOwnerdMylist = HohoemaApp.UserMylistManager.HasMylistGroup(PlayableList.Value.Id); IsWatchAfterLocalMylist = PlayableList.Value.Origin == PlaylistOrigin.Local && PlayableList.Value.Id == HohoemaPlaylist.WatchAfterPlaylistId; switch (PlayableList.Value.Origin) { case PlaylistOrigin.LoginUser: var mylistGroup = HohoemaApp.UserMylistManager.GetMylistGroup(PlayableList.Value.Id); MylistTitle = mylistGroup.Name; MylistDescription = mylistGroup.Description; ThemeColor = mylistGroup.IconType.ToColor(); IsPublic = mylistGroup.IsPublic; IsLoginUserDeflist = mylistGroup.IsDeflist; OwnerUserId = mylistGroup.UserId; UserName = HohoemaApp.LoginUserName; CanEditMylist = !IsLoginUserDeflist; if (IsLoginUserDeflist) { MylistState = "とりあえずマイリスト"; } else { MylistState = IsPublic ? "公開マイリスト" : "非公開マイリスト"; } break; case PlaylistOrigin.OtherUser: var response = await HohoemaApp.ContentFinder.GetMylistGroupDetail(PlayableList.Value.Id); var mylistGroupDetail = response.MylistGroup; MylistTitle = mylistGroupDetail.Name; MylistDescription = mylistGroupDetail.Description; IsPublic = mylistGroupDetail.IsPublic; ThemeColor = mylistGroupDetail.GetIconType().ToColor(); OwnerUserId = mylistGroupDetail.UserId; MylistState = IsPublic ? "公開マイリスト" : "非公開マイリスト"; var user = await UserInfoDb.GetAsync(OwnerUserId); if (user != null) { UserName = user.Name; } else { await Task.Delay(500); var userDetail = await HohoemaApp.ContentFinder.GetUserDetail(OwnerUserId); UserName = userDetail.Nickname; } CanEditMylist = false; break; case PlaylistOrigin.Local: MylistTitle = PlayableList.Value.Name; OwnerUserId = HohoemaApp.LoginUserId.ToString(); UserName = HohoemaApp.LoginUserName; MylistState = "ローカルマイリスト"; CanEditMylist = true; break; default: break; } UpdateTitle(MylistTitle); EditMylistGroupCommand.RaiseCanExecuteChanged(); }
// Execute public ResultCode Execute(UserInfoDb userInfoDb) { var ret = _dbManager.SignIn(userInfoDb); return(ret); }
/// <summary> /// 查询所有信息 /// </summary> /// <param name="filter"></param> /// <returns></returns> public IList <UserInfo> GetList() { return(UserInfoDb.GetList()); }