public frmHorariosMedico(clsMedico med, frmEditarMedico fo) { InitializeComponent(); medicoEditar = med; valor = 1; formEditarMedico = fo; }
public clsTurnoVista(clsMedico medico, clsPaciente paciente, DateTime fecha, int idUsuario) { this.medico = medico; this.paciente = paciente; this.fecha = fecha; this.costo = 0; this.idUsuario = idUsuario; this.estado = false; }
public clsTurnoVista(int id, clsMedico medico, clsPaciente paciente, DateTime fecha, float costo, int idUsuario, bool estado) { this.id = id; this.medico = medico; this.paciente = paciente; this.fecha = fecha; this.costo = costo; this.idUsuario = idUsuario; this.estado = estado; }
private clsMedico metodoM(IEntidad med2) { clsMedicoDatos med = (clsMedicoDatos)med2; clsEspecialidad aux; clsMedico medico = new clsMedico(); try { medico.Id = med.Id; medico.Nombre = med.Nombre; medico.Apellido = med.Apellido; medico.Dni = med.Dni; medico.Matricula = med.Matricula; aux = (clsEspecialidad)manejaespecialidad.buscaPorId(med.Especialidad); medico.Especialidad = aux.Descripcion; } catch (SqlException ex) { throw ex; } catch (Exception ex) { throw ex; } return medico; }
private void btnPagar_Click(object sender, EventArgs e) { //creo una lista de turno y otra de sobre para separar a los seleccionados por el usuario // y asignarle sus ids al recibo. List<clsTurno> turnoReporte = new List<clsTurno>(); List<clsSobreturno> sobreTurnosReporte = new List<clsSobreturno>(); clsTurno turn = new clsTurno(); clsSobreturno sobreTarna = new clsSobreturno(); if (dgvTurnosAPagar.Rows.Count > 0) { if (string.IsNullOrWhiteSpace(cbTipoFactura.Text) == false && string.IsNullOrWhiteSpace(tbCliente.Text) == false && string.IsNullOrWhiteSpace(tbCuit.Text) == false && string.IsNullOrWhiteSpace(tbDireccion.Text) == false && tbCuit.Text.Length == 11) { if (float.Parse(tbCantidadTarjeta.Text.ToString()) == 0 || float.Parse(tbCantidadTarjeta.Text.ToString()) > 100) { if ((float.Parse(tbCantidadTarjeta.Text.ToString()) + float.Parse(tbCantidadEfectivo.Text.ToString())) < total) { if (cbTipoFactura.Text == "A") { //LISTA DE RECIBOS A DAR DE ALTA. List<clsRecibo> listaRecibosAInsertar = new List<clsRecibo>(); //LISTA DE ID'S DE TURNOS A SER ACTUALIZADOS. List<int> idsDeTurnosAActualizar = new List<int>(); //LISTA DE ID'S DE SOBRETURNOS A SER ACTUALIZADOS. List<int> idsDeSobreTurnosAActualizar = new List<int>(); if (string.IsNullOrWhiteSpace(tbCantidadEfectivo.Text)) { tbCantidadEfectivo.Text = "0"; } foreach (DataGridViewRow row in dgvTurnosAPagar.Rows) { turn.Id = int.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[0].Value.ToString()); sobreTarna.Id = int.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[0].Value.ToString()); turn.Fecha = DateTime.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[1].Value.ToString()); sobreTarna.Fecha = DateTime.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[1].Value.ToString()); turn.Costo = float.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[2].Value.ToString()); sobreTarna.Costo = float.Parse(dgvTurnosAPagar.Rows[row.Index].Cells[2].Value.ToString()); if (dgvTurnosAPagar.Rows[row.Index].Cells[3].Value.ToString() == "Turno") { turnoReporte.Add(turn); //Cargo una lista con los turnos a pagar. } else { if (dgvTurnosAPagar.Rows[row.Index].Cells[3].Value.ToString() == "SobreTurno") { sobreTurnosReporte.Add(sobreTarna); } } } List<clsRecibo> listaRecibos = new List<clsRecibo>(); clsRecibo recibo = new clsRecibo(); clsObraSocial obrita = new clsObraSocial(); clsEspecialidad especiali = new clsEspecialidad(); clsMedico med = new clsMedico(); //Creo la lista de recibos para turnos foreach (clsTurno turnito in turnoReporte) { recibo.IdFactura = reposFac.ultimoId().Id + 1; //METODO QUE ME TRAE EL ULTIMO ID DE FACTURA recibo.IdTurno = turnito.Id; recibo.IdSobreTurno = null; //SI TIENE TURNO, SOBRE TURNO ES NULL. recibo.Fecha = turnito.Fecha; List<clsObraXMedico> obrasDelMed = new List<clsObraXMedico>(); obrasDelMed = reposObraPorMed.TodasObras(turnito.IdMedico); //TRAIGO TODAS LAS OBRAS DEL MEDICO. foreach (clsObraXMedico obritaDelMedico in obrasDelMed) { if (PacienteActual.ObraSocial != null) //PREGUNTO SI EL PACIENTE TIENE OBRA SOCIAL. { if (reposObra.buscarPorId(obritaDelMedico.IdObra).Nombre == PacienteActual.ObraSocial) { obrita = reposObra.BuscarPorNombre(PacienteActual.ObraSocial); //METODO QUE ME RETORNA LA OBRA POR EL NOMBRE. recibo.Cobertura += obrita.Monto; totalDescuento += obrita.Monto; } } else { recibo.Cobertura = null; //SI NO TIENE OBRA SOCIAL, NO TIENE COBERTURA. } } //CARGO EL MONTO DE LA CONSULTA. clsTurno t = new clsTurno(); //Variable auxiliar de turno, es el turno en el que estoy ahora. t = reposTurno.buscarPorId(turnito.Id); //Le asigno todos sus valores propios. string es = reposMedico.buscarPorId(t.IdMedico).Especialidad; //le asigno a "es" la especialidad del medico de este turno especiali = reposEspe.BuscarPorNombre(es); //busco todos los datos de esa especialidad por su nombre recibo.Importe = especiali.Canon; //Cargo el importe con el valor de la especialidad. recibo.Detalle = es; listaRecibosAInsertar.Add(recibo); //Lista de recibos para ser dados de alta idsDeTurnosAActualizar.Add(turnito.Id); //Lista de turnos para ser actualizadps. } //Creo la lista de recibos para sobreturnos foreach (clsSobreturno sobrTurnito in sobreTurnosReporte) { recibo.IdFactura = reposFac.ultimoId().Id + 1; //METODO QUE ME TRAE EL ULTIMO ID DE FACTURA recibo.IdTurno = null; //SI TIENE SOBRETURNO, TURNO ES NULL. recibo.IdSobreTurno = sobrTurnito.Id; recibo.Fecha = sobrTurnito.Fecha; List<clsObraXMedico> obrasDelMed = new List<clsObraXMedico>(); obrasDelMed = reposObraPorMed.TodasObras(sobrTurnito.IdMedico); //TRAIGO TODAS LAS OBRAS DEL MEDICO. foreach (clsObraXMedico obritaDelMedico in obrasDelMed) { if (PacienteActual.ObraSocial != null) //PREGUNTO SI EL PACIENTE TIENE OBRA SOCIAL. { if (reposObra.buscarPorId(obritaDelMedico.IdObra).Nombre == PacienteActual.ObraSocial) { obrita = reposObra.BuscarPorNombre(PacienteActual.ObraSocial); //METODO QUE ME RETORNA LA OBRA POR EL NOMBRE. recibo.Cobertura += obrita.Monto; totalDescuento += obrita.Monto; } } else { recibo.Cobertura = null; //SI NO TIENE OBRA SOCIAL, NO TIENE COBERTURA. } } //CARGO EL MONTO DE LA CONSULTA. clsSobreturno t = new clsSobreturno(); //Variable auxiliar de turno, es el turno en el que estoy ahora. t = reposSobreTurno.buscarPorId(sobrTurnito.IdMedico); //Le asigno todos sus valores propios. string es = reposMedico.buscarPorId(t.Id).Especialidad; //le asigno a "es" la especialidad del medico de este turno especiali = reposEspe.BuscarPorNombre(es); //busco todos los datos de esa especialidad por su nombre recibo.Importe = especiali.Canon; //Cargo el importe con el valor de la especialidad. recibo.Detalle = es; listaRecibosAInsertar.Add(recibo); //Lista de recibos para ser dados de alta reposSobreTurno.ActualizarAsistencia(sobrTurnito.Id); //Lista de id de sobre turnos a ser actualizado. } clsClinica clini = new clsClinica(); Factura.Cuitcliente = tbCuit.Text; Factura.NumeroFactura = reposFac.ultimoId().Id + 1; Factura.TipoFactura = "A"; //Traigo los datos de mi clinica para signarle los datos. clini = reposClinica.Todo(1); Factura.RazonSocial = clini.RazonSocial; Factura.Terminal = usuario.Id; Factura.Total = total; Factura.Fecha = DateTime.Now; Factura.IdUsuario = usuario.Id; Factura.Cliente = tbCliente.Text; Factura.PagoEfectivo = float.Parse(tbCantidadEfectivo.Text); Factura.PagoTarjeta = float.Parse(tbCantidadTarjeta.Text); reposFac.Alta(Factura); //INSERTO TODOS LOS RECIBOS foreach (clsRecibo re in listaRecibosAInsertar) { reposRecibo.Alta(re); } //ACTUALIZO TODOS LOS TURNOS A TRUE foreach (int idT in idsDeTurnosAActualizar) { reposTurno.ActualizarAsistencia(idT); } //ACTUALIZO TODOS LOS SOBRETURNOS A TRUE foreach (int idST in idsDeSobreTurnosAActualizar) { reposSobreTurno.ActualizarAsistencia(idST); } MessageBox.Show("La Factura fue creada con éxito junto con los Recibos"); if (dgvTurnosAPagar.Rows.Count > 0) dgvTurnosAPagar.Rows.Clear(); tbCuit.Clear(); tbCliente.Clear(); tbDireccion.Clear(); tbCantidadTarjeta.Text = "0"; tbCantidadEfectivo.Text = "0"; total = 0; totalDescuento = 0; lblTotal.Text = "0"; lblDescuento.Text = "0"; /* crPagos pago = new crPagos(); pago.SetDataSource(dataSetDatos.Tables[0]); pago.SetParameterValue("Fecha", DateTime.Now); pago.SetParameterValue("Cliente", tbCliente.Text); pago.SetParameterValue("Domicilio", tbDireccion.Text); pago.SetParameterValue("CUIT", tbCuit.Text); frmView frmV = new frmView(pago); frmV.ShowDialog(); */ } else if (cbTipoFactura.Text == "B") { //ACA VA TODO PARA LA FACTURA B } else { MessageBox.Show("Debe seleccionar un tipo de factura.", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("El monto ingresado excede el total a pagar.", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("El monto a pagar en tarjeta debe ser €0 o mayor a €100", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("Complete los campos para continuar.", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
public List<clsMedico>Todo(int pag)/// { DataTable tabla; List<clsMedico> lista = new List<clsMedico>(); clsEspecialidad aux2; try { tabla = manejaMedico.Todo(pag); foreach (DataRow aux in tabla.Rows) { clsMedico med = new clsMedico(); med.Id = Convert.ToInt32(aux["id"]); med.Nombre = aux["nombre"].ToString(); med.Apellido = aux["apellido"].ToString(); med.Dni = Convert.ToInt64(aux["dni"]); med.Matricula = Convert.ToInt32(aux["matricula"]); aux2 = (clsEspecialidad)manejaEspecialidad.buscaPorId(Convert.ToInt32(aux["especialidad"])); med.Especialidad = aux2.Descripcion; lista.Add(med); } } catch (SqlException ex) { throw ex; } catch (Exception ex) { throw ex; } return lista; }
public List<clsMedico> BuscaPorEspecialidad(string esp)//buscar por especialidad { DataTable tabla; List<clsMedico> lista = new List<clsMedico>(); clsEspecialidad aux3; try { aux3 = (clsEspecialidad)manejaEspecialidad.buscaPorNombre(esp); tabla = manejaMedico.Busca(aux3.Id); foreach (DataRow aux in tabla.Rows) { clsMedico med = new clsMedico(); med.Id = Convert.ToInt32(aux["id"]); med.Nombre = aux["nombre"].ToString(); med.Apellido = aux["apellido"].ToString(); med.Dni = Convert.ToInt64(aux["dni"]); med.Matricula = Convert.ToInt32(aux["matricula"]); med.Especialidad = esp; lista.Add(med); } } catch (SqlException ex) { throw ex; } catch (Exception ex) { throw ex; } return lista; }
private void btnFiltrar_Click(object sender, EventArgs e) { if(checkBoxMedico.Checked) { if(string.IsNullOrWhiteSpace(cbMedico.Text)) { MessageBox.Show("Debe seleccionar un medico para continuar", "¡Advertencia!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { //Borro todas las filas. if (dgvPacientes.Rows.Count > 0) { dgvPacientes.Rows.Clear(); } if(dgvTurnos.Rows.Count > 0) { dgvTurnos.Rows.Clear(); } clsMedico medicoSeleccionado = new clsMedico(); List<clsMedico> listaMedicos = new List<clsMedico>(); listaMedicos = reposMedico.obtenerMedicos(); //Traigo todos los medicos foreach(clsMedico med in listaMedicos) { if (med.Apellido == cbMedico.Text) medicoSeleccionado = med; } //Encuentro el medico seleccionado y traigo todos sus turnos listaTurnos = reposTurno.obtenerTurnoMedico(medicoSeleccionado.Id); //Traigo todos los turnos dados por ese medico listaSobreTurnos = reposSobreTurno.obtenerSobreTurnoMedico(medicoSeleccionado.Id); //Traigo todos los sobre turnos dados por ese medico clsPaciente pas = new clsPaciente(); //Variable a la que se le asigna el paciente de cada turno. foreach(clsTurnoVista turn in listaTurnos) //Recorro todos los turnos obteniendo el paciente de cada uno. { if(turn.Fecha > dtpDesde.Value && turn.Fecha < dtpHasta.Value && turn.Estado == true) { pas = reposPaciente.buscarPorId(turn.Paciente.Id); if(pas != null) //Pregunto por si el paciente fue dado de baja. { dgvPacientes.Rows.Add(pas.Id,pas.Nombre, pas.Apellido, pas.Dni, pas.ObraSocial, pas.Telefono); } } } foreach(clsSobreTurnoVista turn in listaSobreTurnos) { if(turn.Fecha > dtpDesde.Value && turn.Fecha < dtpHasta.Value && turn.Estado == true) { pas = reposPaciente.buscarPorId(turn.Paciente.Id); if(pas != null) { dgvPacientes.Rows.Add(pas.Id,pas.Nombre, pas.Apellido, pas.Dni, pas.ObraSocial, pas.Telefono); } } } } } else //QUE EL CHECK BOX DE MEDICO NO FUE SELECCIONADO { //Borro todas las filas. if (dgvPacientes.Rows.Count > 0) { dgvPacientes.Rows.Clear(); } List<clsTurnoVista> listaTurnos = new List<clsTurnoVista>(); listaTurnos = reposTurno.TurnoEntreFechas(dtpDesde.Value, dtpHasta.Value); //Guardo todos los turnos existentes entre las fechas seleccionadas. List<clsSobreTurnoVista> listaSobreTurnos = new List<clsSobreTurnoVista>(); listaSobreTurnos = reposSobreTurno.TurnoEntreFechas(dtpDesde.Value, dtpHasta.Value); clsPaciente pas = new clsPaciente(); //Variable para ir asignando pacientes y mostrarlos foreach(clsTurnoVista turn in listaTurnos) { if (turn.Fecha > dtpDesde.Value && turn.Fecha < dtpHasta.Value && turn.Estado == true) { pas = reposPaciente.buscarPorId(turn.Paciente.Id); if(pas != null) { dgvPacientes.Rows.Add(pas.Id,pas.Nombre, pas.Apellido, pas.Dni, pas.ObraSocial, pas.Telefono); } } } foreach(clsSobreTurnoVista turn in listaSobreTurnos) { if(turn.Fecha > dtpDesde.Value && turn.Fecha < dtpHasta.Value && turn.Estado == true) { pas = reposPaciente.buscarPorId(turn.Paciente.Id); if(pas != null) { dgvPacientes.Rows.Add(pas.Id,pas.Nombre, pas.Apellido, pas.Dni, pas.ObraSocial, pas.Telefono); } } } } }
private void actualizoXmedico() { m = medicos[cbMedicos.SelectedIndex]; turnos.Clear(); tur.Clear(); turnos = rt.obtenerTurnoMedico(m.Id); if (turnos.Count > 0) { dgvTurnos.Rows.Clear(); foreach (clsTurnoVista t in turnos) { if (t.Estado) { dgvTurnos.Rows.Add(t.Paciente.nomCompleto(), t.Fecha, "SI"); tur.Add(new clsReporteTurnos(t.Paciente.nomCompleto(), t.Fecha, "SI")); } else { dgvTurnos.Rows.Add(t.Paciente.nomCompleto(), t.Fecha, "NO"); tur.Add(new clsReporteTurnos(t.Paciente.nomCompleto(), t.Fecha, "NO")); } } } else { dgvTurnos.Rows.Clear(); } sobreTurnos.Clear(); stur.Clear(); sobreTurnos = rst.obtenerSobreTurnoMedico(m.Id); if (sobreTurnos.Count > 0) { dgvSobreturnos.Rows.Clear(); foreach (clsSobreTurnoVista t in sobreTurnos) { if (t.Estado) { dgvSobreturnos.Rows.Add(t.Paciente.nomCompleto(), t.Fecha, "SI"); stur.Add(new clsReporteTurnos(t.Paciente.nomCompleto(), t.Fecha, "SI")); } else { dgvSobreturnos.Rows.Add(t.Paciente.nomCompleto(), t.Fecha, "NO"); stur.Add(new clsReporteTurnos(t.Paciente.nomCompleto(), t.Fecha, "NO")); } } } else { dgvSobreturnos.Rows.Clear(); } }
int modifi = 0; //si esta en 1 modifico mañana, si esta en dos tarde. 0 los dos public frmEditarMedico(clsMedico med) { InitializeComponent(); this.med = med; }
private void btnGuardar_Click(object sender, EventArgs e) { try { if (verificarMedico()) { clsMedico medNuevo = new clsMedico(); medNuevo.Nombre = tbNombreModi.Text; medNuevo.Apellido = tbApellidoModi.Text; medNuevo.Especialidad = cbEspecialidadModi.Text; medNuevo.Dni = long.Parse(tbDniModi.Text.ToString()); medNuevo.Matricula = int.Parse(tbMatriculaModi.Text.ToString()); //ROMPO RELACIONES DE MEDICO CON LAS OBRAS SOCIALES clsObraXMedico obraPorMedBaja = new clsObraXMedico(); obraPorMedBaja.IdMedico = med.Id; foreach (clsObraSocial obrita in obrasBajas) { obraPorMedBaja.IdObra = obrita.Id; repoObraPorMed.Baja(obraPorMedBaja); } //RELACION CON OBRAS SOCIALES ROTAS. //CREO LA RELACION HORARIOS POR MEDICO //PRIMERO DOY DE BAJA LAS RELACIONES DE HORARIOS bool mañana = false; bool tarde = false; clsHorario horariosMañana = new clsHorario(); clsHorario horariosTarde = new clsHorario(); try { horariosMañana = reposHorario.buscarPorId(med.Id, 1); mañana = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } try { horariosTarde = reposHorario.buscarPorId(med.Id, 2); tarde = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } if(mañana && tarde) { reposHorario.Baja(horariosMañana, horariosTarde); } else { if(mañana) { reposHorario.Baja(horariosMañana, 1); } if(tarde) { reposHorario.Baja(horariosTarde, 2); } } if(modifi == 0) //ACTUALIZO MAÑANA Y TARDE { horarioMT.IdMedico = med.Id; horarioTC.IdMedico = med.Id; reposHorario.Alta(horarioMT, horarioTC); } else { if(modifi == 1) //ACTUALIZO MAÑANA { horarioMT.IdMedico = med.Id; reposHorario.Alta(horarioMT, 1); } if(modifi == 2) //ACTUALIZO TARDE { horarioMT.IdMedico = med.Id; reposHorario.Alta(horarioMT, 2); } } //CREO RELACION NUEVA ENTRE OBRAS Y MEDICO List<string> listaNombresObra = new List<string>(); foreach (Object item in clbObraSocial.CheckedItems) //CARGO TODAS LAS OBRAS SOCIALES SELECCIONADAS. { listaNombresObra.Add(item.ToString()); } List<clsObraSocial> obr = new List<clsObraSocial>(); //Variable con todas mis obras obr = reposObraSocial.Todo(0); //le doy todas las obras foreach (clsObraSocial obrita in obr) //por cada obra existente { foreach (string obra in listaNombresObra) //por cada obra seleccionada { if (obrita.Nombre == obra) //si el nombre es igual obtengo el id y creo la relacion { clsObraXMedico obraPormed = new clsObraXMedico(); obraPormed.IdMedico = med.Id; obraPormed.IdObra = obrita.Id; repoObraPorMed.Alta(obraPormed); } } } medNuevo.Id = med.Id; repoMedico.Modificacion(medNuevo); MessageBox.Show("Médico modificado con éxito"); this.Close(); } else { MessageBox.Show("Debe completar todos los campos para seleccionar."); } }catch(Exception ex) { MessageBox.Show("Error al actualizar el médico: " + ex.Message); } }