private async void LoginClicked(object sender, RoutedEventArgs e) { if (await MobileService.Instance.FacebookLogIn()) { SignedUp?.Invoke(this, EventArgs.Empty); SignUpHideRequested?.Invoke(this, EventArgs.Empty); } }
public async Task signedup_event_fails_when_user_does_not_have_required_role() { var userId = Guid.NewGuid(); var email = "*****@*****.**"; var role = "none"; var externalEvent = new SignedUp(userId, email, role); // Check if exception is thrown _eventHandler .Awaiting(c => c.HandleAsync(externalEvent)) .Should().Throw <InvalidRoleException>(); }
protected static void Initialize() { ExceptionHandlerMock = new Mock <IExceptionHandler>(); Handler = new Handler(ExceptionHandlerMock.Object); UserServiceMock = new Mock <IUserService>(); User = new UserDto { Name = "user", Role = "user" }; ServiceClient = new Mock <IServiceClient>(); Event = new SignedUp(Guid.NewGuid(), Resource.Create("test", "test"), Guid.NewGuid().ToString("N"), "test", "user", "active"); ServiceClient.Setup(x => x.GetAsync <UserDto>(Event.Resource)) .ReturnsAsync(User); SignedUpHandler = new SignedUpHandler(Handler, UserServiceMock.Object, ServiceClient.Object); }
public async Task signedup_event_fails_when_user_with_id_already_exists() { var userId = Guid.NewGuid(); var email = "*****@*****.**"; var role = "user"; var user = new User(userId); await _usersMongoDbFixture.InsertAsync(user.AsDocument()); var externalEvent = new SignedUp(userId, email, role); // Check if exception is thrown _eventHandler .Awaiting(c => c.HandleAsync(externalEvent)) .Should().Throw <UserAlreadyCreatedException>(); }
public async Task signedup_event_should_add_user_with_given_data_to_database() { var userId = Guid.NewGuid(); var email = "*****@*****.**"; var role = "user"; var externalEvent = new SignedUp(userId, email, role); // Check if exception is thrown _eventHandler .Awaiting(c => c.HandleAsync(externalEvent)) .Should().NotThrow(); var user = await _usersMongoDbFixture.GetAsync(externalEvent.UserId); user.Should().NotBeNull(); user.Id.Should().Be(userId); }
private void Apply(SignedUp e) { Id = e.Id; AccountNumber = new AccountNumber(Id); Name = e.Name; }
public async Task <IActionResult> OnPost(string returnurl) { if (returnurl != null && Request.Form["Register"].Count > 0) { PendingRegistrationDto otpDetails = new PendingRegistrationDto(); ApplicationUser user; //Validate if OTP is valid before registering specilist user if (Request.Form["Role"] == "Specialist") { string otp = Request.Form["Otp"].ToString(); otpDetails = await _specialistService.GetRegistrationOTPDetails(otp); if (otpDetails == null) { ModelState.AddModelError("invalis_registration_otp", "The OTP entered is not valid. Please try again."); ReturnURL = returnurl; return(Page()); } else { user = new ApplicationUser { UserName = otpDetails.Email, Email = otpDetails.Email, IsAdmin = false, FirstName = otpDetails.FirstName } }; } else { user = new ApplicationUser { UserName = Request.Form["Username"], Email = Request.Form["Username"], IsAdmin = false, FirstName = Request.Form["FirstName"] } }; var result = await _userManager.CreateAsync(user, Request.Form["userpassword"]); if (result.Succeeded) { await _userManager.AddClaimsAsync(user, new Claim[] { new Claim("firstName", user.FirstName), new Claim("identityid", user.IdentityId.ToString()) }); if (Request.Form["Role"] == "Patient") { await _userManager.AddClaimsAsync(user, new Claim[] { new Claim("accounttype", "patient") }); var newSignUpEvent = new SignedUp(user.IdentityId, Request.Form["FirstName"], Request.Form["LastName"], Request.Form["Username"], Role); //Publish message to RabbitMq await _busPublisher.PublishAsync(newSignUpEvent, CorrelationContext.Empty); } else { await _userManager.AddClaimsAsync(user, new Claim[] { new Claim("accounttype", "specialist") }); var newSignUpEvent = new SpecialistSignedUp(user.IdentityId, otpDetails.FirstName, otpDetails.LastName, otpDetails.Email, otpDetails.PracticeId, otpDetails.IsAdmin); //Publish message to RabbitMq await _busPublisher.PublishAsync(newSignUpEvent, CorrelationContext.Empty); } //// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=532713 //// Send an email with this link ////var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); ////var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme); ////await _emailSender.SendEmailAsync(model.Email, "Confirm your account", //// $"Please confirm your account by clicking this link: <a href='{callbackUrl}'>link</a>"); //await _signInManager.PasswordSignInAsync(Request.Form["Username"], Request.Form["userpassword"], true, false); ////_logger.LogInformation(3, "User created a new account with password."); return(Redirect(returnurl)); } else { result.Errors.ToList().ForEach(e => { ModelState.AddModelError(e.Code, e.Description); }); ReturnURL = returnurl; } } else { //Registration canceled return(Redirect(returnurl)); } return(Page()); }
protected static void InitializeEvent() { Event = new SignedUp(Guid.NewGuid(), Resource.Create("test", "test"), User?.UserId, "collectively", "user", "active"); }
public async Task HandleAsync(SignedUp @event) => await CompleteAsync(@event);