async private void registrarButton_Clicked(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(nombreEntry.Text) && !String.IsNullOrEmpty(apellido1Entry.Text) && !String.IsNullOrEmpty(apellido2Entry.Text) &&
                !String.IsNullOrEmpty(tipo.SelectedItem.ToString()) && !String.IsNullOrEmpty(correoEntry.Text) && !String.IsNullOrEmpty(passEntry.Text))
            {
                var client = new HttpClient
                {
                    BaseAddress = new Uri("https://app-produ.herokuapp.com")
                };
                var idType = userTypes.FirstOrDefault(x => x.Value == tipo.SelectedItem.ToString()).Key;

                var newUser = new User
                {
                    nombre      = nombreEntry.Text,
                    apellido1   = apellido1Entry.Text,
                    apellido2   = apellido2Entry.Text,
                    position_id = idType,
                    correo      = correoEntry.Text,
                    password    = passEntry.Text
                };

                string jsonData = JsonConvert.SerializeObject(newUser);
                var    content  = new StringContent(jsonData, Encoding.UTF8, "application/json");
                HttpResponseMessage response = await client.PostAsync("/users/signup.json", content);

                if (response.StatusCode == HttpStatusCode.Created)
                {
                    var result = await response.Content.ReadAsStringAsync();

                    var jobject = JObject.Parse(result);
                    var data    = JsonConvert.DeserializeObject <User>(jobject["usuario"].ToString());

                    try
                    {
                        Application.Current.Properties["id"]           = data.id;
                        Application.Current.Properties["currentToken"] = data.token;
                        await DisplayAlert("El usuario ha sido creado con éxito!", "Se desplegará a la pantalla de proyectos del usuario!", "OK");

                        var proyectosPage = new Proyectos();
                        await Navigation.PushAsync(proyectosPage);
                    }
                    catch (Exception)
                    {
                    }
                }
                else
                {
                    await DisplayAlert("Error!", "Correo ya está registrado!\nPor favor utilice otro!", "OK");
                }
            }
            else
            {
                await DisplayAlert("Error!", "Espacios vacíos!\nPor favor rellenar todos los espacios!", "OK");
            }
        }
Ejemplo n.º 2
0
 protected override async void OnAppearing()
 {
     try
     {
         int idUserLogged = (int)Application.Current.Properties["id"];
         if (idUserLogged != 0)
         {
             var proyectosPage = new Proyectos();
             await Navigation.PushAsync(proyectosPage);
         }
     }
     catch (Exception e)
     {
     }
 }
Ejemplo n.º 3
0
        async private void ingresarButton_Clicked(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(correoEntry.Text) && !String.IsNullOrEmpty(passEntry.Text))
            {
                userLogged.correo   = correoEntry.Text;
                userLogged.password = passEntry.Text;
                userLogged.correo   = userLogged.correo.Trim();
                var client = new HttpClient
                {
                    BaseAddress = new Uri("https://app-produ.herokuapp.com")
                };

                string jsonData = JsonConvert.SerializeObject(userLogged);
                var    content  = new StringContent(jsonData, Encoding.UTF8, "application/json");


                try
                {
                    HttpResponseMessage response = await client.PostAsync("/users/login.json", content);

                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        var result = await response.Content.ReadAsStringAsync();

                        var jobject = JObject.Parse(result);
                        var data    = JsonConvert.DeserializeObject <List <User> >(jobject["usuario"].ToString());
                        Application.Current.Properties["id"]           = data[0].id;
                        Application.Current.Properties["currentToken"] = data[0].token;
                        var proyectosPage = new Proyectos();
                        await Navigation.PushAsync(proyectosPage);
                    }
                    else
                    {
                        await DisplayAlert("Error!", "Usuario o contraseña inválidos!", "OK");
                    }
                }
                catch (Exception)
                {
                    await DisplayAlert("Error!", "Usuario o contraseña inválidos!", "OK");
                }
            }
            else
            {
                await DisplayAlert("Error!", "Espacios vacíos!\nPor favor rellenar todos los espacios!", "OK");
            }
        }