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; }
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."); } }