public void PrepareTest() { _user = new ClubUser { Name = "Pepe", Surname = "Bernad", Email = "*****@*****.**", DateOfBirth = new DateTime(1990, 1, 12), Level = Level.Rookie, Phone = "976223344", Weight = 80 }; _validatedUser = new ClubUser { UserId = "TestID", Name = "Jose Maria", Surname = "Bernad", Email = "*****@*****.**", DateOfBirth = new DateTime(1990, 1, 12), Level = Level.Intermediate, Phone = "976223344", Weight = 80 }; _sut = new AuthService("<YourFirebaseApiKey>"); _sut.UserRepository = Substitute.For <IUserRepository>(); _sut.UserRepository.SaveUserAsync(_validatedUser).ReturnsForAnyArgs(_validatedUser); }
public void LoginCommandTo_Navigates_To_AnotherPage_When_Login_Is_Successful_And_Saves_Credentials() { ClubUser testUser = new ClubUser { UserId = "TestID", Email = "testEmail", IsEmailVerified = true, Name = "Test Name", Surname = "Test Surname", Phone = "Test Phone" }; ICredentials secureCredentials = new DummyCredentials(); _authService.LoginWithEmailAndPasswordAsync("testEmail", "testPassword", true, false).Returns( new AuthResult { Result = "Success", User = testUser }); _sut = new LoginPageViewModel(_navigationService, _pageDialogService, _authService, secureCredentials); _sut.OnNavigatedTo(_parameters); _sut.Email = "testEmail"; _sut.Password = "******"; _sut.LoginCommand.Execute(); Assert.That(secureCredentials.Password, Is.EqualTo("testPassword")); Assert.That(secureCredentials.User, Is.EqualTo(testUser)); _navigationService.Received(1).NavigateAsync("AnotherPage"); }
public async Task <IActionResult> Create([Bind("Name,FoundedDate,JoinedDate,IsActive,Id")] Club club) { if (ModelState.IsValid) { club.Owner = _context.Users.FirstOrDefault(u => u.UserName == HttpContext.User.Identity.Name); // Adds "Club Admin"-role to the user var user = _context.Users.FirstOrDefault(o => o.UserName == club.Owner.UserName); await _userManager.AddToRoleAsync(user, "Club Admin"); club.JoinedDate = DateTime.Now; club.IsActive = true; club.Id = Guid.NewGuid(); // adds user to club user table var clubUser = new ClubUser { User = user, ClubId = club.Id, Club = club, UserId = club.Owner.Id, Id = Guid.NewGuid() }; _context.Add(clubUser); _context.Add(club); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(club)); }
public async Task <IActionResult> Edit(int id, [Bind("ClubUserId,UserId,ClubId")] ClubUser clubUser) { if (id != clubUser.ClubUserId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(clubUser); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ClubUserExists(clubUser.ClubUserId)) { return(NotFound()); } else { throw; } } return(RedirectToAction()); } ViewData["ClubId"] = new SelectList(_context.Club, "ClubId", "Name", clubUser.ClubId); return(View(clubUser)); }
public void PrepareTest() { _user = new ClubUser { Name = "Pepe", Surname = "Bernad", Email = "*****@*****.**", DateOfBirth = new DateTime(1990, 1, 12), Level = Level.Rookie, Phone = "976223344", Weight = 80 }; _validatedUser = new ClubUser { Name = "Jose Maria", Surname = "Bernad", Email = "*****@*****.**", DateOfBirth = new DateTime(1990, 1, 12), Level = Level.Intermediate, Phone = "976223344", Weight = 80 }; _authService = new AuthService("<YourFirebaseApiKey>"); _sut = new UserRepository("<YourFirebaseDatabaseURL>", _authService); _authService.UserRepository = _sut; }
public async Task <AuthResult> CreateUserAsync(ClubUser user, string password, bool sendVerificationEmail) { string displayName = user.Name + " " + user.Surname; try { _auth = await _authProvider.CreateUserWithEmailAndPasswordAsync( user.Email, password, displayName, sendVerificationEmail); user.UserId = _auth.User.LocalId; user.IsEmailVerified = _auth.User.IsEmailVerified; // TODO: Add user to database if boolean optional parameter // saveUser is true (pending to add parameter) return(new AuthResult { User = user, Result = "Success" }); } catch (Exception ex) { string reason = "Unknown reason"; if (ex.Message.Contains("EMAIL_EXISTS")) { reason = "Mail Exists"; } return(new AuthResult { User = user, Result = "Error: " + reason }); } }
//同步设置IM群管理员 //文档: https://www.qcloud.com/document/product/269/1623 public Response SetIMGroupAdmin(ClubUser obj) { string role; if (obj.IsAdmin) { role = "Admin"; } else { role = "Member"; } IMGroup imGroup = new IMGroup(); imGroup.GroupId = obj.ClubId; imGroup.Member_Account = obj.UserCode; imGroup.Role = role; //请求IM接口 var reqRest = new RestRequest("v4/group_open_http_svc/modify_group_member_info", Method.POST); reqRest.AddJsonBody(imGroup); var result = RestApiHelper.SendIMRequestAndGetResponse(reqRest); return(result); }
public async Task <ClubUser> SaveUserAsync(ClubUser user) { await FirebaseClient .Child($"users/{user.UserId}") .PutAsync(user); return(user); }
void addUserItem(ClubUser user) { GComponent item = userList.AddItemFromPool().asCom; item.GetChild("imgAvatar").asLoader.url = Utils.Helper.GetReallyImagePath(user.avatar); item.GetChild("textId").text = "ID:" + user.id; item.GetChild("textNick").text = "昵称:" + user.nick; //var btnPayer = item.GetChild("btnPayer").asButton; var btnAdmin = item.GetChild("btnAdmin").asButton; var btnCheck = item.GetChild("btnCheck").asButton; var btnDisable = item.GetChild("btnDisable").asButton; // 是管理员或者老板 // 并且 当前列表项不是老板 // 才显示控制按钮 var b = (Data.Club.IsAdmin || Data.Club.IsBoss) && Data.Club.Info.uid != user.id; // 管理员 只有 老板可以控制 if (user.admin) { if (Data.Club.IsBoss) { b = true; } else { b = false; } } // btnPayer.visible = b; btnAdmin.visible = b; btnCheck.visible = b; btnDisable.visible = b; //btnPayer.selected = user["id"].n == Data.Club.Data["payer_uid"].n; btnAdmin.selected = user.admin; btnCheck.selected = user.status != 0; btnDisable.selected = user.status == 2; // btnPayer.onClick.Add(onBtnPayerClick); btnAdmin.onClick.Add(onBtnAdminClick); btnCheck.onClick.Add(onBtnCheckClick); btnDisable.onClick.Add(onBtnDisableClick); userList.AddChild(item); }
public IActionResult PostForm(ClubViewModel clubViewModel) { var cu = new ClubUser { UserName = clubViewModel.name, Class = clubViewModel.Class, Section = clubViewModel.Section }; _DbContext.clubUsers.Add(cu); _DbContext.SaveChanges(); return(Redirect("/Club")); }
public async Task FindUserById_Returns_Null_When_User_Does_Not_Exist() { AuthResult result = await _authService.LoginWithEmailAndPasswordAsync(_user, "testPassword", false, false); Assert.IsNotNull(result.User); Assert.IsNotNull(result.User.UserId); Assert.IsFalse(result.User.IsEmailVerified); Assert.AreEqual("Success", result.Result); //check that preparation is successful ClubUser user = await _sut.FindUserByIdAsync(result.User.UserId); Assert.That(user, Is.Null); }
private void InitializeVisualProperties() { _user = _credentials.User; Password = _credentials.Password; if (_user != null) { Email = _user.Email; } else { _user = new ClubUser(); } }
public void Values_Are_Not_Null_When_Exist() { _storage.GetValue("Password").Returns("myTestPassword"); ClubUser user = new ClubUser { Email = "*****@*****.**" }; string userJson = JsonConvert.SerializeObject(user); _storage.GetValue("User").Returns(userJson); Assert.AreEqual("myTestPassword", _sut.Password); Assert.AreEqual(user.Email, _sut.User.Email); }
private static ClubUser createClubUser(User currentUser, Club club) { ClubUser user = new ClubUser(); user.SetNewId(); user.SetCreateDate(); user.SetRowAdded(); user.ClubId = club.Id; user.UserId = currentUser.Id; user.Score = 0; user.PetName = currentUser.PetName; user.IsCreator = true; user.IsAdmin = true; user.LevelValue = 3; return user; }
public void CountManageState(User user, string CurrentUserId, string ClubId, string UserCode) { ClubUser objCurrentUser = GetClubUser(CurrentUserId, ClubId); user.IsClubManagerWithCurrentUser = objCurrentUser.IsAdmin; user.IsClubCreatorWithCurrentUser = objCurrentUser.IsCreator; user.IsSystemManagerWithCurrentUser = UserHelper.Instance.IsSystemManager(CurrentUserId); string queryUserId = GetUserByCode(UserCode).Id; ClubUser objQueryUser = GetClubUser(queryUserId, ClubId); user.IsClubManagerWithQueryUser = objQueryUser.IsAdmin; user.IsClubCreatorWithQueryUser = objQueryUser.IsCreator; user.ClubJoinTime = (DateTime)objQueryUser.CreateDate; user.PetName = objQueryUser.PetName; }
// TODO: refactor this method and its overload to eliminate duplicate code. public async Task <AuthResult> LoginWithEmailAndPasswordAsync(string email, string password, bool enforceValidation = true, bool saveUser = true) { ClubUser user = null; try { _auth = await _authProvider.SignInWithEmailAndPasswordAsync(email, password); await _auth.RefreshUserDetails(); user = await UserRepository.FindUserByIdAsync(_auth.User.LocalId); if (user == null) { user = new ClubUser { Email = email }; } user.UserId = _auth.User.LocalId; user.IsEmailVerified = _auth.User.IsEmailVerified; if (!user.IsEmailVerified && enforceValidation) { return(new AuthResult { User = user, Result = "Error: Please, validate your email." }); } else { if (saveUser) { await UserRepository.SaveUserAsync(user); } CurrentUser = user; return(new AuthResult { User = user, Result = "Success" }); } } catch (Exception) { return(new AuthResult { User = user, Result = "Error: Invalid credentials" }); } }
//同步设置IM群成员昵称 //文档: https://www.qcloud.com/document/product/269/1623 public Response SetIMGroupAdmin(ClubUser obj) { IMGroup imGroup = new IMGroup(); imGroup.GroupId = obj.ClubId; imGroup.Member_Account = obj.UserCode; imGroup.NameCard = obj.PetName; //请求IM接口 var reqRest = new RestRequest("v4/group_open_http_svc/modify_group_member_info", Method.POST); reqRest.AddJsonBody(imGroup); var result = RestApiHelper.SendIMRequestAndGetResponse(reqRest); return(result); }
private async Task Login(ClubUser user, string password) { if (user != null && password != null) { AuthResult result = await _authService.LoginWithEmailAndPasswordAsync(user, password); if (string.Equals(result.Result, "Success")) { await _navigationService.NavigateAsync(_initialPage); } else { await _pageDialogService.DisplayAlertAsync("Error", result.Result, "OK"); } } }
public async Task <IActionResult> Create(int id) { var user = await GetCurrentUserAsync(); ClubUser clubUser = new ClubUser { ClubId = id, UserId = user.Id }; _context.Add(clubUser); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Clubs")); }
public async Task AddUser_Returns_User_And_User_Exists_In_Database() { AuthResult result = await _authService.LoginWithEmailAndPasswordAsync(_validatedUser, "testPassword"); Assert.IsNotNull(result.User); Assert.IsNotNull(result.User.UserId); Assert.AreEqual("Success", result.Result); //check that preparation is successful ClubUser user = await _sut.SaveUserAsync(result.User); Assert.IsNotNull(result.User); Assert.IsNotNull(result.User.UserId); user = await _sut.FindUserByIdAsync(user.UserId); Assert.IsNotNull(result.User); Assert.IsNotNull(result.User.UserId); }
public void PrepareTest() { _user = new ClubUser { Name = "Pepe", Surname = "Bernad", Email = "*****@*****.**", DateOfBirth = new DateTime(1990, 1, 12), Level = Level.Rookie, Phone = "976223344", Weight = 80 }; _validatedUser = new ClubUser { Name = "Jose Maria", Surname = "Bernad", Email = "*****@*****.**", DateOfBirth = new DateTime(1990, 1, 12), Level = Level.Intermediate, Phone = "976223344", Weight = 80 }; _board = new Board { Level = Level.Intermediate, MaxWeight = 120, MinWeight = 50, Mode = TableMode.Race, Type = TableType.Rigid, Model = "Mistral 12,6 M2 Rígida Tipo RACE" }; _reservation = new Reservation { Status = ReservationStatus.InProcess, StartDate = new DateTime(2017, 12, 15), EndDate = new DateTime(2017, 12, 18), }; _authService = new AuthService("<YourFirebaseApiKey>"); _sut = new ReservationRepository("<YourFirebaseDatabaseURL>", _authService); }
public override void OnNavigatedTo(NavigationParameters parameters) { _action = parameters.GetValue <string>("action"); Title = _action; ClubUser user = _credentials.User; if (user == null) { User = new ClubUser(); } else { User = user; } string password = _credentials.Password; if (password != null) { Password = password; } }
public ClubUser GetClubUser(string userId, string ClubId) { string sql = @" SELECT * FROM dbo.ClubUser WHERE UserId=@UserId AND ClubId=@ClubId "; var cmd = CommandHelper.CreateText <ClubUser>(FetchType.Fetch, sql); cmd.Params.Add("@UserId", userId); cmd.Params.Add("@ClubId", ClubId); var result = DbContext.GetInstance().Execute(cmd); if (result.Entities.Count > 0) { return(result.FirstEntity <ClubUser>()); } else { ClubUser clubUser = new ClubUser(); clubUser.IsAdmin = false; clubUser.IsCreator = false; return(clubUser); } }