Exemplo n.º 1
0
        private void ButtonCrear_Click(object sender, RoutedEventArgs e)
        {
            if (Apellido.Text == "")
            {
                MessageBox.Show("Debe indicar el Apellido");
                return;
            }
            if (CUIL.Text == "")
            {
                MessageBox.Show("Debe indicar el CUIL");
                return;
            }
            if (DNI.Text == "")
            {
                MessageBox.Show("Debe indicar el DNI");
                return;
            }
            if (Domicilio.Text == "")
            {
                MessageBox.Show("Debe indicar el Domicilio");
                return;
            }
            if (FechaNacimiento.SelectedDate == null)
            {
                MessageBox.Show("Debe indicar la Fecha de Nacimiento");
                return;
            }
            if (Mail.Text == "")
            {
                MessageBox.Show("Debe indicar el Email");
                return;
            }
            if (Matricula.Text == "")
            {
                MessageBox.Show("Debe indicar la Matrícula");
                return;
            }
            if (Monto.Text == "")
            {
                MessageBox.Show("Debe indicar el Monto");
                return;
            }
            if (Nombre.Text == "")
            {
                MessageBox.Show("Debe indicar el Nombre");
                return;
            }
            if (Telefono.Text == "")
            {
                MessageBox.Show("Debe indicar el Teléfono");
                return;
            }

            if (Contraseña.Password != Confirmacion.Password)
            {
                MessageBox.Show("La confirmación y la contraseña deben ser iguales");
                return;
            }

            ConsultorioSagradaFamilia.Models.Usuario usuario = new ConsultorioSagradaFamilia.Models.Usuario
            {
                Email    = Mail.Text,
                Password = Contraseña.Password
            };

            var client  = new RestClient("http://consultoriosagradafamilia.azurewebsites.net/api/Account/Register");
            var request = new RestRequest(Method.POST);

            request.AddHeader("postman-token", "ff0920db-2463-74a8-8bf4-0bf3969e4083");
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("content-type", "application/x-www-form-urlencoded");

            string body = "Email=" + usuario.Email +
                          "&Password="******"&ConfirmPassword="******"&Roles[0]=Médico";

            request.AddParameter("application/x-www-form-urlencoded", body, ParameterType.RequestBody);

            IRestResponse response = client.Execute(request);

            var content = response.Content;

            if (content != "")
            {
                dynamic stuff = JObject.Parse(content);

                if (stuff.Message.ToString() == "La solicitud no es válida.")
                {
                    foreach (var error in stuff.ModelState)
                    {
                        MessageBox.Show(error.ToString());
                    }
                    return;
                }
                else if (stuff.error == null)
                {
                    //MessageBox.Show("Usuario creado.");
                }
                else
                {
                    MessageBox.Show("Hubo un problema al registrar el usuario");
                    return;
                }
            }
            else
            {
                //MessageBox.Show("Usuario creado");
            }

            ConsultorioSagradaFamilia.Models.Medico medico = new ConsultorioSagradaFamilia.Models.Medico
            {
                Apellido        = Apellido.Text,
                CUIL            = CUIL.Text,
                DNI             = int.Parse(DNI.Text),
                Domicilio       = Domicilio.Text,
                FechaNacimiento = FechaNacimiento.SelectedDate.Value.Date,
                Mail            = Mail.Text,
                Matricula       = int.Parse(Matricula.Text),
                Monto           = decimal.Parse(Monto.Text),
                Nombre          = Nombre.Text,
                Telefono        = int.Parse(Telefono.Text),
                Habilitado      = true
            };

            StatusMessage statusMessage = DbContextSingleton.dbContext.GuardarMedico(medico);

            MessageBox.Show(statusMessage.Mensaje);

            if (statusMessage.Status == 0)
            {
                ConsultorioSagradaFamilia.Models.Medico medicoConId = DbContextSingleton.dbContext.GetLastMedico();

                foreach (var item in EspecialidadesGrid.Items)
                {
                    ConsultorioSagradaFamilia.Models.Especialidad especialidad = (ConsultorioSagradaFamilia.Models.Especialidad)item;

                    MedicoEspecialidad medicoEspecialidad = new MedicoEspecialidad();
                    medicoEspecialidad.IdMedico       = medicoConId.IdMedico;
                    medicoEspecialidad.IdEspecialidad = especialidad.IdEspecialidad;

                    DbContextSingleton.dbContext.GuardarMedicoEspecialidad(medicoEspecialidad);
                }

                foreach (var item in ObrasSocialesGrid.Items)
                {
                    ConsultorioSagradaFamilia.Models.ObraSocial obraSocial = (ConsultorioSagradaFamilia.Models.ObraSocial)item;

                    ObraSocialMedico obraSocialMedico = new ObraSocialMedico();
                    obraSocialMedico.IdMedico     = medicoConId.IdMedico;
                    obraSocialMedico.IdObraSocial = obraSocial.IdObraSocial;

                    DbContextSingleton.dbContext.GuardarObraSocialMedico(obraSocialMedico);
                }

                foreach (var item in HorariosGrid.Items)
                {
                    HorarioAtencion horarioAtencion = (HorarioAtencion)item;
                    horarioAtencion.IdMedico = medicoConId.IdMedico;

                    DbContextSingleton.dbContext.GuardarHorarioAtencion((HorarioAtencion)item);
                }

                Medicos medicos2 = new Medicos();
                Layout.Frame.Navigate(medicos2);
            }
        }
        private void ButtonCrear_Click(object sender, RoutedEventArgs e)
        {
            if (Contraseña.Password != Confirmacion.Password)
            {
                MessageBox.Show("La confirmación y la contraseña deben ser iguales");
                return;
            }

            ConsultorioSagradaFamilia.Models.Usuario usuario = new ConsultorioSagradaFamilia.Models.Usuario
            {
                Email    = MailPacientesCombobox.SelectedIndex != -1 ? (string)MailPacientesCombobox.SelectedValue : Email.Text,
                Password = Contraseña.Password
            };

            var client  = new RestClient("http://consultoriosagradafamilia.azurewebsites.net/api/Account/Register");
            var request = new RestRequest(Method.POST);

            request.AddHeader("postman-token", "ff0920db-2463-74a8-8bf4-0bf3969e4083");
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("content-type", "application/x-www-form-urlencoded");

            string body = "Email=" + usuario.Email +
                          "&Password="******"&ConfirmPassword="******"Paciente")
                {
                    if (!EsPaciente.IsChecked.GetValueOrDefault() || MailPacientesCombobox.SelectedIndex == -1)
                    {
                        MessageBox.Show("No se puede seleccionar como Rol 'Paciente' si no esta indicado un mail de un paciente válido.");
                        return;
                    }
                }
                else
                {
                    if (EsPaciente.IsChecked.GetValueOrDefault() || MailPacientesCombobox.SelectedIndex != -1)
                    {
                        MessageBox.Show("No se puede seleccionar otro rol además de 'Paciente' si se indico que el usuario a crear es un paciente.");
                        return;
                    }
                }


                body = body + "&Roles[" + contador + "]=" + rol.Nombre;
                contador++;
            }

            request.AddParameter("application/x-www-form-urlencoded", body, ParameterType.RequestBody);

            IRestResponse response = client.Execute(request);

            var content = response.Content;

            if (content != "")
            {
                dynamic stuff = JObject.Parse(content);

                if (stuff.Message.ToString() == "La solicitud no es válida.")
                {
                    foreach (var error in stuff.ModelState)
                    {
                        MessageBox.Show(error.ToString());
                        return;
                    }
                }
                else if (stuff.error == null)
                {
                    MessageBox.Show("Usuario creado.");
                    IndexUsuario indexUsuario = new IndexUsuario();
                    Layout.Frame.Navigate(indexUsuario);
                }
                else
                {
                    MessageBox.Show("Hubo un problema al registrar el usuario");
                    return;
                }
            }
            else
            {
                MessageBox.Show("Usuario creado.");
                IndexUsuario indexUsuario = new IndexUsuario();
                Layout.Frame.Navigate(indexUsuario);
            }
        }