protected void LlenarHoras(string dni, string espe, int id) { try { HorarioMedico HM = new HorarioMedico(); HM.dni = dni; HM.id_espe = int.Parse(espe); HorarioMedicoNegocio HMN = new HorarioMedicoNegocio(); HM.horarios = HMN.LeerHorario(HM.dni, HM.id_espe); List <FechaTurno> FT = TN.ListaFechas(HM); FechaTurno IT = FT.ElementAt(id); List <HoraTurno> HT = TN.ListaHorarios(HM, IT); //////////// this.ddlHora.DataSource = HT; this.ddlHora.DataBind(); } catch (Exception ex) { } }
//metodos insertar, modificar, quitar de la clase horariomedico public void InsertarHorariosMedico(HorarioMedico objHorario) { string strQuery = "INSERT INTO horariomedico " + "(id_medico, id_dia, horainicio_a, horafin_a, horainicio_b, horafin_b, " + "duracion_turnos)" + "VALUES(@idMedico, @idDia, @horaInicioA, @horaFinA, @horaInicioB, @horaFinB, " + "@duracionTurnos);"; CD_Conexion conexion = new CD_Conexion(); //¿este puede ir afuera del metodo como mysql.comando tambien PERO el cerrar la conexion cuando termine la funcion y no en otra funcion puede ser problema porq son parte de la misma instancia? MySqlCommand comando = new MySqlCommand(); comando.Connection = conexion.AbrirConexion(); comando.CommandText = strQuery; comando.Parameters.Add("@idMedico", MySqlDbType.Int32).Value = objHorario.IdMedico; comando.Parameters.Add("@idDia", MySqlDbType.Int32).Value = Convert.ToInt32(objHorario.Dia); comando.Parameters.Add("@horaInicioA", MySqlDbType.VarChar).Value = objHorario.HoraInicio_A; comando.Parameters.Add("@horaFinA", MySqlDbType.VarChar).Value = objHorario.HoraFin_A; comando.Parameters.Add("@horaInicioB", MySqlDbType.VarChar).Value = objHorario.HoraInicio_B; comando.Parameters.Add("@horaFinB", MySqlDbType.VarChar).Value = objHorario.HoraFin_B; comando.Parameters.Add("@duracionTurnos", MySqlDbType.Int32).Value = objHorario.DuracionTurnos; comando.ExecuteNonQuery(); conexion.CerrarConexion(); }
private void InsertarHM() { try { for (int i = 0; i < 5; i++) { CheckBox oCheckbox = null; oCheckbox = (CheckBox)this.FindName($"ckBoxDia{i + 1}"); if (oCheckbox != null && oCheckbox.IsChecked == true) { HorarioMedico oHm = new HorarioMedico(); string dia = Enum.GetName(typeof(DayOfWeek), i + 1); oHm.Dia = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), dia); oHm.IdMedico = this.idMedico; //Para el id del medico oHm.HoraInicio_A = ((ComboBox)this.FindName($"horaIni{i + 1}")).Text; oHm.HoraFin_A = ((ComboBox)this.FindName($"horaFin{i + 1}")).Text; oHm.HoraInicio_B = ((ComboBox)this.FindName($"horaIni{i + 1}b")).Text; oHm.HoraFin_B = ((ComboBox)this.FindName($"horaFin{i + 1}b")).Text; oHm.DuracionTurnos = Convert.ToInt32(((ComboBox)this.FindName($"cmboxdur{i + 1}")).Text); oHmCCM.Insertar(oHm); } } MessageBox.Show("Informacion horaria actualizada"); this.Close(); } catch (Exception ex) { MessageBox.Show("Error al agregar horarios" + ex); throw; } }
private void ModificarHM() { bool updateHM; List <int> guiaCheckedBorrar = recdiaCheckedMod; //van a quedar los dias que seran eliminados aqui try { for (int i = 0; i < 5; i++) { updateHM = false; CheckBox oCheckbox = null; oCheckbox = (CheckBox)this.FindName($"ckBoxDia{i + 1}"); if (oCheckbox != null && oCheckbox.IsChecked == true) { for (int j = 0; j < this.recdiaCheckedMod.Count; j++) { if ((i + 1) == recdiaCheckedMod[j]) { updateHM = true; guiaCheckedBorrar.RemoveAt(j); break; } } HorarioMedico oHm = new HorarioMedico(); string dia = Enum.GetName(typeof(DayOfWeek), i + 1); oHm.Dia = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), dia); oHm.IdMedico = this.idMedico; //Para el id del medico oHm.HoraInicio_A = ((ComboBox)this.FindName($"horaIni{i + 1}")).Text; oHm.HoraFin_A = ((ComboBox)this.FindName($"horaFin{i + 1}")).Text; oHm.HoraInicio_B = ((ComboBox)this.FindName($"horaIni{i + 1}b")).Text; oHm.HoraFin_B = ((ComboBox)this.FindName($"horaFin{i + 1}b")).Text; oHm.DuracionTurnos = Convert.ToInt32(((ComboBox)this.FindName($"cmboxdur{i + 1}")).Text); if (updateHM == true) { oHmCCM.Modificar(oHm); } else { oHmCCM.Insertar(oHm); } } } for (int i = 0; i < guiaCheckedBorrar.Count; i++) { oHmCCM.Eliminar(idMedico, guiaCheckedBorrar[i]); } MessageBox.Show("Informacion horaria modificada correctamente"); this.Close(); } catch (Exception ex) { MessageBox.Show("Error al modificar horarios" + ex); throw; } }
public async Task <IActionResult> Edit(int id, [Bind("HorarioMedicoId,DataInicioTurno,Duracao,DataFimTurno,TurnoId,MedicoId")] HorarioMedico horarioMedico) { if (id != horarioMedico.HorarioMedicoId) { return(RedirectToAction(nameof(Error))); } if (ModelState.IsValid) { try { _context.Update(horarioMedico); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!HorarioMedicoExists(horarioMedico.HorarioMedicoId)) { return(RedirectToAction(nameof(Error))); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["MedicoId"] = new SelectList(_context.Medicos, "MedicoId", "CC", horarioMedico.MedicoId); ViewData["TurnoId"] = new SelectList(_context.Turnos, "TurnoId", "TurnoId", horarioMedico.TurnoId); return(View(horarioMedico)); }
public void ModificarHorariosMedico(HorarioMedico objHorario) { string strQuery = "UPDATE horariomedico " + //fijarse bien el nombre de la tabla "SET horainicio_a=@horaInicioA, horafin_a=@horaFinA, " + "horainicio_b=@horaInicioB, horafin_b=@horaFinB, duracion_turnos=@duracionTurnos " + "WHERE id_dia=@idDia AND id_medico=@idMedico;"; CD_Conexion conexion = new CD_Conexion(); //¿este puede ir afuera del metodo como mysql.comando tambien PERO el cerrar la conexion cuando termine la funcion y no en otra funcion puede ser problema porq son parte de la misma instancia? MySqlCommand comando = new MySqlCommand(); comando.Connection = conexion.AbrirConexion(); comando.CommandText = strQuery; //comando.Parameters.Add("@idhorariomedico", MySqlDbType.Int32).Value = objHorario.IdHorarioMedico; comando.Parameters.Add("@idMedico", MySqlDbType.Int32).Value = objHorario.IdMedico; comando.Parameters.Add("@idDia", MySqlDbType.Int32).Value = Convert.ToInt32(objHorario.Dia); comando.Parameters.Add("@horaInicioA", MySqlDbType.VarChar).Value = objHorario.HoraInicio_A; comando.Parameters.Add("@horaFinA", MySqlDbType.VarChar).Value = objHorario.HoraFin_A; comando.Parameters.Add("@horaInicioB", MySqlDbType.VarChar).Value = objHorario.HoraInicio_B; comando.Parameters.Add("@horaFinB", MySqlDbType.VarChar).Value = objHorario.HoraFin_B; comando.Parameters.Add("@duracionTurnos", MySqlDbType.Int32).Value = objHorario.DuracionTurnos; comando.ExecuteNonQuery(); conexion.CerrarConexion(); }
public IActionResult SolicitarPedidoTrocaTurnoMedicoConfirmed(int idHor1, int idHor2) { DateTime dataPedido = DateTime.Now; // Verifica se já existe um pedido feito com os id's dos horários if (PedidoTrocaTurnoJaFoiEfetudado(idHor1, idHor2) == true) { TempData["PedidoAlreadyDone"] = "Já existe um pedido feito para a troca destes horários"; return(RedirectToAction(nameof(Index))); } //Select MedicoID Where HorarioMedicoId = idHorario1 var idMedRequerente = from h in _context.HorariosMedicos where h.HorarioMedicoId == idHor1 select h.MedicoId; HorarioMedico horarioATrocar = _context.HorariosMedicos.SingleOrDefault(h => h.HorarioMedicoId == idHor1); HorarioMedico horarioParaTroca = _context.HorariosMedicos.SingleOrDefault(h => h.HorarioMedicoId == idHor2); try { //Insert into HorarioATrocarMedico InsertDataIntoHorarioATrocarMedico(_context, horarioATrocar); //Insert into HorarioParaTrocaMedico InsertDataIntoHorarioParaTrocaMedico(_context, horarioParaTroca); } catch (DbUpdateConcurrencyException) { TempData["ErrorRequired"] = "Erro ao inserir pedido!"; return(RedirectToAction(nameof(Index))); } HorarioATrocarMedico horarioATrocarId = _context.HorarioATrocarMedico.LastOrDefault(h => h.HorarioMedicoId == idHor1); HorarioParaTrocaMedico horarioParaTrocaId = _context.HorarioParaTrocaMedico.LastOrDefault(h => h.HorarioMedicoId == idHor2); Medico medicoRequerenteId = _context.Medicos.SingleOrDefault(e => e.MedicoId == idMedRequerente.Single()); EstadoPedidoTroca estadoPedidoTrocaId = _context.EstadoPedidoTrocas.SingleOrDefault(e => e.Nome == "Pendente"); //Insert into PedidoTrocaTurnos Table try { if (!PedidoTrocaTurnoJaFoiEfetudado(idHor1, idHor2)) { InsertDataIntoPedidoTrocaTurnoMedico(_context, dataPedido, medicoRequerenteId, horarioATrocarId, horarioParaTrocaId, estadoPedidoTrocaId); TempData["SuccessRequired"] = "Pedido realizado com sucesso!"; return(RedirectToAction(nameof(Index))); } } catch (DbUpdateConcurrencyException) { TempData["ErrorRequired"] = "Erro ao inserir pedido!"; return(RedirectToAction(nameof(Index))); } return(RedirectToAction(nameof(Index))); }
/** * @param db * @param horarioParaTroca * @insert in the HorarioParaTrocaMedico table a record with the above parameters */ private void InsertDataIntoHorarioParaTrocaMedico(HospitalDbContext db, HorarioMedico horarioParaTroca) { db.HorarioParaTrocaMedico.Add( new HorarioParaTrocaMedico { HorarioMedicoId = horarioParaTroca.HorarioMedicoId } ); db.SaveChanges(); }
public void Actualizar(HorarioMedico HorarioMedico) { try { _HorarioMedicoRepository.Update(HorarioMedico); _HorarioMedicoRepository.Save(); } catch (Exception ex) { Log.Error(ex.ToString()); } }
public void Alta(HorarioMedico HorarioMedico) { try { _HorarioMedicoRepository.Add(HorarioMedico); _HorarioMedicoRepository.Save(); } catch (Exception ex) { Log.Error(ex.ToString()); } }
public async Task <IActionResult> Create([Bind("HorarioMedicoId,DataInicioTurno,Duracao,DataFimTurno,TurnoId,MedicoId")] HorarioMedico horarioMedico) { if (ModelState.IsValid) { _context.Add(horarioMedico); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["MedicoId"] = new SelectList(_context.Medicos, "MedicoId", "CC", horarioMedico.MedicoId); ViewData["TurnoId"] = new SelectList(_context.Turnos, "TurnoId", "TurnoId", horarioMedico.TurnoId); return(View(horarioMedico)); }
public HorarioMedico ObtenerHorarioMedico(int id) { HorarioMedico HorarioMedico = new HorarioMedico(); try { HorarioMedico = _HorarioMedicoRepository.Find(id); } catch (Exception ex) { Log.Error(ex.ToString()); } return(HorarioMedico); }
public List <HorarioMedico> GetlistHorariosByIdMed(int idMedico) { string strQuery = "SELECT * FROM horariomedico WHERE id_medico=@idMedico ORDER BY id_dia ASC;"; //Hacer inner join para traer el dia? List <HorarioMedico> listHorario = new List <HorarioMedico>(); HorarioMedico objHorario; CD_Conexion conexion = new CD_Conexion(); //¿este puede ir afuera del metodo como mysql.comando tambien PERO el cerrar la conexion cuando termine la funcion y no en otra funcion puede ser problema porq son parte de la misma instancia? MySqlCommand comando = new MySqlCommand(); comando.Connection = conexion.AbrirConexion(); comando.CommandText = strQuery; comando.Parameters.Add("@idMedico", MySqlDbType.Int32).Value = idMedico; MySqlDataReader rdr = comando.ExecuteReader(); if (rdr.HasRows) { while (rdr.Read()) { objHorario = new HorarioMedico(); objHorario.IdHorarioMedico = Convert.ToInt32(rdr["id_horariomedico"]); objHorario.IdMedico = Convert.ToInt32(rdr["id_medico"]); objHorario.Dia = (DayOfWeek)Convert.ToInt32(rdr["id_dia"]); //el Enum.parse devuelve un objeto (?) Enum.Parse(typeof(DayOfWeek), rdr["id_dia"].ToString()); objHorario.HoraInicio_A = rdr["horainicio_a"].ToString(); objHorario.HoraFin_A = rdr["horafin_a"].ToString(); objHorario.HoraInicio_B = rdr["horainicio_b"].ToString(); objHorario.HoraFin_B = rdr["horafin_b"].ToString(); objHorario.DuracionTurnos = Convert.ToInt32(rdr["duracion_turnos"]); listHorario.Add(objHorario); } } else { Console.WriteLine("No hay filas cargadas"); } rdr.Close(); conexion.CerrarConexion(); return(listHorario); }
private void Cargar_fecha(Medico medico, Especialidad especialidad) { this.HM = null; this.HM = new HorarioMedico(); this.HM.dni = medico.dni; this.HM.id_espe = especialidad.id; this.HM.horarios = HMN.LeerHorario(HM.dni, HM.id_espe); cbxFecha.DataSource = null; cbxFecha.DataSource = TN.ListaFechas(this.HM); if (cbxFecha.Items.Count > 0) { cbxFecha.SelectedIndex = 0; } }
protected void LlenarFechas(string dni, string espe) { try { this.ddlHora.DataSource = null; HorarioMedico HM = new HorarioMedico(); HM.dni = dni; HM.id_espe = int.Parse(espe); HorarioMedicoNegocio HMN = new HorarioMedicoNegocio(); HM.horarios = HMN.LeerHorario(HM.dni, HM.id_espe); List <FechaTurno> FT = this.TN.ListaFechas(HM); this.ddlFecha.DataSource = FT; this.ddlFecha.DataBind(); this.LlenarHoras(dni, espe, 1); } catch (Exception ex) { } }
//FILTRA LAS FECHAS QUE ATIENDE EL MEDICO// public List <FechaTurno> ListaFechas(HorarioMedico HM) { List <FechaTurno> lista = new List <FechaTurno>(); int dia = ahora.Day, mes = ahora.Month, anio = ahora.Year; byte dia_semana = DiaDeLaSemana(); List <HoraTurno> listaH = null; for (int i = 0; i < 60; i++) { for (int j = 0; j < HM.horarios.Count(); j++) { if (HM.horarios.ElementAt(j).dia == dia_semana) { FechaTurno aux = new FechaTurno(); aux.dia = dia; aux.mes = mes; aux.anio = anio; aux.dia_semana = dia_semana; listaH = ListaHorarios(HM, aux); if (listaH != null) { if (listaH.Count > 0) { lista.Add(aux); } } } } incrementar(ref dia, ref mes, ref anio, ref dia_semana); } return(lista); }
public void Insertar(HorarioMedico objHorario) { horarioMedicoABM.InsertarHorariosMedico(objHorario); }
protected void CrearTurno(object sender, EventArgs e) { try { int IdEspe = int.Parse(this.ddlEspecialidad.SelectedValue); string IdMedico = this.ddlMedico.SelectedValue; string IdPaciente = paciente.dni; string obs = this.tbxObservaciones.Text; int IdFecha = this.ddlFecha.SelectedIndex; int IdHora = this.ddlHora.SelectedIndex; HorarioMedico HM = new HorarioMedico(); HM.dni = IdMedico; HM.id_espe = IdEspe; HorarioMedicoNegocio HMN = new HorarioMedicoNegocio(); HM.horarios = HMN.LeerHorario(HM.dni, HM.id_espe); List <FechaTurno> FT = TN.ListaFechas(HM); FechaTurno IT = FT.ElementAt(IdFecha); List <HoraTurno> HT = TN.ListaHorarios(HM, IT); HoraTurno hora = HT.ElementAt(IdHora); Turno aux = new Turno(); aux.comentario = obs; aux.estado = new Estado(); aux.estado.ID = 2; aux.fecha = new DateTime(IT.anio, IT.mes, IT.dia); aux.hora = hora.Hora; aux.medico = new Medico(); aux.medico.dni = HM.dni; aux.paciente = new Paciente(); aux.paciente.dni = IdPaciente; if (TN.ExisteTurno(aux) == true) { this.respuesta = "El turno solicitado está ocupado"; this.Session.Add("turno", respuesta); this.Session.Add("dni", paciente.dni); this.Session.Add("nombre", paciente.nombre); this.Session.Add("apellido", paciente.apellido); this.Session.Add("medico", ""); this.Session.Add("fecha", ""); } else { if (TN.CrearTurno(aux) == false) { this.respuesta = "No se pudo crear el turno"; this.Session.Add("turno", respuesta); this.Session.Add("dni", paciente.dni); this.Session.Add("nombre", paciente.nombre); this.Session.Add("apellido", paciente.apellido); this.Session.Add("medico", ""); this.Session.Add("fecha", ""); } else { this.respuesta = "El turno se creó correctamente"; this.Session.Add("turno", respuesta); this.Session.Add("dni", paciente.dni); this.Session.Add("nombre", paciente.nombre); this.Session.Add("apellido", paciente.apellido); this.Session.Add("medico", this.ddlMedico.SelectedItem.Text); this.Session.Add("fecha", this.ddlFecha.Text + " " + this.ddlHora.Text); } } this.Response.Redirect("Turno.aspx"); } catch (Exception ex) { } }
public async Task <IActionResult> Aprovar(int id) { /* * Algoritmo: * Alterar o Estado para Aprovado Se O DS aprovar * Alterar o Estado para Não Aprovado se o DS não aprovar * Caso Aprove, Então: * Update na tabela horários, em que as linhas dos horários apenas sofrem a alteração do nome * */ var pedidoTrocaTurnosMedico = await _context.PedidoTrocaTurnosMedico.FindAsync(id); if (id != pedidoTrocaTurnosMedico.PedidoTrocaTurnosMedicoId) { return(RedirectToAction(nameof(Error))); } EstadoPedidoTroca idEstadoAprovado = _context.EstadoPedidoTrocas.SingleOrDefault(e => e.Nome == "Aprovado"); pedidoTrocaTurnosMedico.EstadoPedidoTrocaId = idEstadoAprovado.EstadoPedidoTrocaId; //Estado_Aprovado //Update Estado no Pedido de Troca try { _context.Update(pedidoTrocaTurnosMedico); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PedidoTrocaTurnosMedicoExists(pedidoTrocaTurnosMedico.PedidoTrocaTurnosMedicoId)) { return(RedirectToAction(nameof(Error))); } else { throw; } } //Update Horario A Trocar int id1 = (from p in _context.PedidoTrocaTurnosMedico where p.PedidoTrocaTurnosMedicoId == id select p.HorarioATrocarMedico.HorarioMedicoId).Single(); HorarioMedico idHor1 = _context.HorariosMedicos.SingleOrDefault(h => h.HorarioMedicoId == id1); var horarioATrocar = await _context.HorariosMedicos.FindAsync(idHor1.HorarioMedicoId); int nomeHor1 = (from p in _context.PedidoTrocaTurnosMedico where p.PedidoTrocaTurnosMedicoId == id select p.HorarioParaTrocaMedico.HorarioMedico.Medico.MedicoId).Single(); horarioATrocar.MedicoId = nomeHor1; //Update Horario Para Troca int id2 = (from p in _context.PedidoTrocaTurnosMedico where p.PedidoTrocaTurnosMedicoId == id select p.HorarioParaTrocaMedico.HorarioMedicoId).Single(); HorarioMedico idHor2 = _context.HorariosMedicos.SingleOrDefault(h => h.HorarioMedicoId == id2); var horarioParaTroca = await _context.HorariosMedicos.FindAsync(idHor2.HorarioMedicoId); int nomeHor2 = (from p in _context.PedidoTrocaTurnosMedico where p.PedidoTrocaTurnosMedicoId == id select p.HorarioATrocarMedico.HorarioMedico.Medico.MedicoId).Single(); horarioParaTroca.MedicoId = nomeHor2; try { UpdateHorario(_context, horarioATrocar); UpdateHorario(_context, horarioParaTroca); TempData["UpdatedSuccess"] = "Pedido aprovado com sucesso"; } catch (DbUpdateConcurrencyException) { return(RedirectToAction(nameof(Error))); } return(RedirectToAction(nameof(Index))); }
//FILTRA LOS HORARIOS DISPONIBLES POR FECHA// public List <HoraTurno> ListaHorarios(HorarioMedico HM, FechaTurno FT) { Horario H = null; for (int i = 0; i < HM.horarios.Count; i++) { H = HM.horarios.ElementAt(i); if (H.dia == FT.dia_semana) { break; } } if (H == null) { return(null); } List <HoraTurno> lista = new List <HoraTurno>(); List <Turno> milista = this.TurnosPorMedicoYFecha(HM.dni, new DateTime(FT.anio, FT.mes, FT.dia)); DateTime ahora = DateTime.Now; DateTime fecha; for (byte i = H.hora_desde; i <= H.hora_hasta; i++) { fecha = new DateTime(FT.anio, FT.mes, FT.dia, i, 0, 0); bool existe = false; if (milista == null) { if (fecha > ahora) { HoraTurno aux = new HoraTurno(); aux.Hora = i; lista.Add(aux); } } else { for (int j = 0; j < milista.Count; j++) { if (milista.ElementAt(j).hora == i) { existe = true; break; } } if (existe == false) { if (fecha > ahora) { HoraTurno aux = new HoraTurno(); aux.Hora = i; lista.Add(aux); } } } } return(lista); }
/* * @param db * @param horario * @insert into HorariosEnfermeiro table the horario passed as the parameter */ private void UpdateHorario(HospitalDbContext db, HorarioMedico horario) { db.HorariosMedicos.Update(horario); db.SaveChanges(); }
public void Modificar(HorarioMedico objHorario) { horarioMedicoABM.ModificarHorariosMedico(objHorario); }