Esempio n. 1
0
        async void SignUp()
        {
            if (!ValidatePasswordMatch())
            {
                await Application.Current.MainPage.DisplayAlert("Aviso", "Verifica que la contraseña sea la misma.", "Aceptar");
            }
            else
            {
                if (!ValidateInformation())
                {
                    await Application.Current.MainPage.DisplayAlert("Aviso", "Verifica que todos los campos se encuentren completos.", "Aceptar");
                }
                else if (!IsBusy)
                {
                    await Application.Current.MainPage.DisplayAlert("Aviso", "Importante: dado que no recopilamos información como el correo electrónico no podemos ayudarte restablecer tu contraseña en caso de extravío, por lo que es importante que guardes bien tu nombre de usuario y contraseña, anótalos en un lugar seguro ya que los necesitarás cada que desees iniciar sesión desde un dispositivo móvil.", "Aceptar");

                    IsBusy = true;
                    SignUpAccountRequest model = new SignUpAccountRequest()
                    {
                        username = Username, password = Password
                    };
                    Application.Current.MainPage = new LegalConcernsPage(model);
                    IsBusy = false;
                }
            }
        }
Esempio n. 2
0
        public async Task <ApiSimpleResponse <AccountModel> > SignUp(SignUpAccountRequest request)
        {
            var command  = Mapper.Map <SignUpAccountCommand>(request);
            var response = await Mediator.Send(command);

            return(Mapper.Map <ApiSimpleResponse <AccountModel> >(response));
        }
        public async Task SignUp([FromBody] SignUpAccountRequest request)
        {
            var authenticatedUser = await _accountService.CreateUserAsync(request);

            await _signInManager.SignInAsync(
                authenticatedUser,
                isPersistent : false);
        }
Esempio n. 4
0
 public LegalConcernsViewModel(INavigation navigation, SignUpAccountRequest model)
 {
     this.navigation = navigation;
     this.model      = model;
     InitializeViewModel();
     IsVisibleAccept = true;
     IsVisibleCancel = true;
 }
Esempio n. 5
0
        public LegalConcernsPage(SignUpAccountRequest model)
        {
            InitializeComponent();

            Xamarin.Forms.NavigationPage.SetHasNavigationBar(this, false);
            On <Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true);

            BindingContext = new LegalConcernsViewModel(this.Navigation, model);
        }
Esempio n. 6
0
        public static async Task <SignUpAccountResponse> SignUpAccountAsync(SignUpAccountRequest model)
        {
            int IterationsToRetry        = 5;
            int TimeToSleepForRetry      = 3000;
            SignUpAccountResponse result = new SignUpAccountResponse();

            if (Helpers.ConnectivyHelper.CheckConnectivity() != Enums.ConnectivtyResultEnum.HasConnectivity)
            {
                result.Status  = Enums.ResponseStatus.CommunicationError;
                result.Message = "El dispositivo no pudo comunicarse con el servidor, comprueba que tengas conexión a internet";
                return(result);
            }

            model.token = GetToken();

            for (int i = 0; i <= IterationsToRetry; i++)
            {
                try
                {
                    using (var client = new HttpClient())
                    {
                        var service = $"{Settings.FunctionURL}/api/SignUpAccount/";

                        byte[] byteData = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(model));
                        using (var content = new ByteArrayContent(byteData))
                        {
                            content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                            var httpResponse = await client.PostAsync(service, content);

                            result = JsonConvert.DeserializeObject <SignUpAccountResponse>(await httpResponse.Content.ReadAsStringAsync());

                            if (httpResponse.StatusCode == HttpStatusCode.OK)
                            {
                                result.Status = Enums.ResponseStatus.Ok;
                            }
                            else
                            {
                                result.Status = Enums.ResponseStatus.Error;
                            }
                            return(result);
                        }
                    }
                }
                catch (Exception)
                {
                    result.Status  = Enums.ResponseStatus.CommunicationError;
                    result.Message = "Ocurrió un error durante el proceso, por favor intenta de nuevo o espera unos minutos antes de vovler a intentar";
                    Thread.Sleep(TimeToSleepForRetry);
                    continue;
                }
            }
            return(result);
        }
 public SignUpConfirmationViewModel(INavigation navigation, SignUpAccountRequest model)
 {
     this.navigation = navigation;
     this.model      = model;
     InitializeViewModel();
 }
 public SignUpConfirmationPage(SignUpAccountRequest model)
 {
     InitializeComponent();
     BindingContext = new SignUpConfirmationViewModel(this.Navigation, model);
 }