Esempio n. 1
0
        private void CargarTurnoParaEditar(int idTurno)
        {
            idObjetoEditando = idTurno;
            dynamic dynamicObj = GetItem("Turno", idTurno);

            ConsultorioSagradaFamilia.Models.Turno turno = new ConsultorioSagradaFamilia.Models.Turno
            {
                IdTurno    = dynamicObj.IdTurno,
                Atendido   = dynamicObj.Atendido,
                Fecha      = dynamicObj.Fecha,
                IdMedico   = dynamicObj.IdMedico,
                IdPaciente = dynamicObj.IdPaciente
            };

            FillPacientes();
            Paciente.SelectedValue = turno.IdPaciente;

            FillMedicos();
            Medico.SelectedValue = turno.IdMedico;

            FillDias();

            string dia = string.Empty;

            switch ((int)turno.Fecha.DayOfWeek)
            {
            case 1:
                dia = "Lunes";
                break;

            case 2:
                dia = "Martes";
                break;

            case 3:
                dia = "Miércoles";
                break;

            case 4:
                dia = "Jueves";
                break;

            case 5:
                dia = "Viernes";
                break;
            }

            Fecha.SelectedValue = dia + " " + turno.Fecha.Day + "/" + turno.Fecha.Month + "/" +
                                  turno.Fecha.Year;


            if (turno.Fecha.Hour == 0)
            {
                TurnoE.IsChecked = true;
            }
            else if (turno.Fecha.Hour > 12)
            {
                TurnoT.IsChecked = true;
            }
            else if (turno.Fecha.Hour < 12)
            {
                TurnoM.IsChecked = true;
            }

            FillHorarios();
            string horarioUsado = turno.Fecha.Hour == 0 ? "" : turno.Fecha.Hour.ToString().PadLeft(2, '0') +
                                  ":" + turno.Fecha.Minute.ToString().PadLeft(2, '0');

            List <string> horarios = (List <string>)Hora.ItemsSource;

            if (horarios == null)
            {
                horarios = new List <string>();
            }

            horarios.Add(horarioUsado);
            horarios.Sort();

            Hora.ItemsSource        = horarios;
            Hora.SelectedValue      = horarioUsado;
            horarioUsadoEnEditTurno = horarioUsado;
        }
Esempio n. 2
0
        private void Btm_Crear_Click(object sender, RoutedEventArgs e)
        {
            if (Paciente.SelectedValue == null)
            {
                MessageBox.Show("Debe indicar un Paciente"); return;
            }
            ;
            if (Medico.SelectedValue == null)
            {
                MessageBox.Show("Debe indicar un Médico"); return;
            }
            ;
            if (Fecha.SelectedValue == null && !TurnoE.IsChecked.GetValueOrDefault())
            {
                MessageBox.Show("Debe indicar una Fecha"); return;
            }
            ;
            if ((Hora.SelectedValue == null || Hora.SelectedValue.ToString() == "No hay") &&
                !TurnoE.IsChecked.GetValueOrDefault())
            {
                MessageBox.Show("Debe indicar una Hora");
                return;
            }

            DateTime fecha;

            if (TurnoE.IsChecked.GetValueOrDefault())
            {
                fecha = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 0, 0, 0);
            }
            else
            {
                string[] arregloFechaConDia = Fecha.SelectedValue.ToString().Split(' ');
                string[] arregloFecha       = arregloFechaConDia[1].Split('/');
                string[] arregloHora        = Hora.SelectedValue.ToString().Split(':');
                fecha = new DateTime(int.Parse(arregloFecha[2]), int.Parse(arregloFecha[1]),
                                     int.Parse(arregloFecha[0]), int.Parse(arregloHora[0]),
                                     int.Parse(arregloHora[1]), 0);
            }

            ConsultorioSagradaFamilia.Models.Turno turno = new ConsultorioSagradaFamilia.Models.Turno
            {
                IdPaciente = (int)Paciente.SelectedValue,
                IdMedico   = (int)Medico.SelectedValue,
                Fecha      = fecha,
                Atendido   = false
            };

            var client = new RestClient("http://consultoriosagradafamilia.azurewebsites.net/api");

            var request = new RestRequest("Turno", Method.POST);

            if (idObjetoEditando != 0)
            {
                request       = new RestRequest("Turno?id=" + idObjetoEditando, Method.PUT);
                turno.IdTurno = idObjetoEditando;
            }

            request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
            request.AddHeader("Authorization", "Bearer " + DatosUsuario.Token);

            request.AddParameter("undefined",
                                 "Atendido=false" +
                                 "&Fecha=" + turno.Fecha.Year + "-" + turno.Fecha.Month + "-" + turno.Fecha.Day + "T" +
                                 turno.Fecha.Hour.ToString().PadLeft(2, '0') + "%3A" +
                                 turno.Fecha.Minute.ToString().PadLeft(2, '0') + "%3A" +
                                 turno.Fecha.Second.ToString().PadLeft(2, '0') + "Z" +
                                 "&IdMedico=" + turno.IdMedico + "&IdPaciente=" + turno.IdPaciente +
                                 "&IdTurno=" + turno.IdTurno, ParameterType.RequestBody);

            try
            {
                var    response  = client.Execute(request);
                string respuesta = response.Content;

                if (response.StatusCode == System.Net.HttpStatusCode.Created)
                {
                    MessageBox.Show("Turno Creado");
                    if (idObjetoEditando != 0)
                    {
                        idObjetoEditando = 0;
                    }

                    PacienteMedico pacienteMedico = new PacienteMedico
                    {
                        IdPaciente = turno.IdPaciente,
                        IdMedico   = turno.IdMedico
                    };

                    DbContextSingleton.dbContext.GuardarPacienteMedico(pacienteMedico);

                    Turnos turnos = new Turnos();
                    Layout.Frame.Navigate(turnos);
                }
                else if (response.StatusCode == System.Net.HttpStatusCode.NoContent && idObjetoEditando != 0)
                {
                    MessageBox.Show("Turno Editado");
                    if (idObjetoEditando != 0)
                    {
                        idObjetoEditando = 0;
                    }

                    PacienteMedico pacienteMedico = new PacienteMedico
                    {
                        IdPaciente = turno.IdPaciente,
                        IdMedico   = turno.IdMedico
                    };

                    DbContextSingleton.dbContext.GuardarPacienteMedico(pacienteMedico);

                    Turnos turnos = new Turnos();
                    Layout.Frame.Navigate(turnos);
                }
                else
                {
                    dynamic mensaje = JsonConvert.DeserializeObject(response.Content);
                    if (mensaje != null)
                    {
                        MessageBox.Show(mensaje.Message.ToString());
                    }
                    else
                    {
                        MessageBox.Show("No se pudo conectar al servidor, intente de nuevo mas tarde.");
                    }
                }
            }
            catch (Exception x)
            {
                MessageBox.Show("No se pudo conectar al servidor, intente de nuevo mas tarde.");
            }
        }