private void cargarGrilla()
        {
            Medicamento medicamento = armarBusquedaMedicamento();

            AsistenteVistas.cargarGrilla(grillaMedicamentos, AppReceta.traerMedicamentos(medicamento));
            grillaMedicamentos.Columns["Descripcion Medicamento"].Width = 450;
        }
Exemple #2
0
        private void grillaRoles_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == grillaRoles.Columns["Seleccionar"].Index && e.RowIndex >= 0 && e.RowIndex < (grillaRoles.Rows.Count - 1)) //Para que la accion de click sea valida solo sobre el boton
            {
                DataGridViewRow fila = grillaRoles.Rows[e.RowIndex];

                Rol rol = crearRol(e.RowIndex);     //instancia un afiliado y luego depende de la funcionalidad, abrirá otra ventana
                if (funcion == "Baja")
                {
                    if (!estaDadoDeBaja(fila))
                    {
                        AsistenteVistas.mostrarNuevaVentana(new Baja_Rol(this, rol), this);
                    }
                    else
                    {
                        MessageBox.Show("El Rol seleccionado ya se encuentra inhabilitado");
                    }
                }
                if (funcion == "Modificar")
                {
                    AsistenteVistas.mostrarNuevaVentana(new Modificar_Rol2(this, rol, pantallaPrincipal), this);
                }
                //en modificar no muestro la ventana de error si esta dado de baja, porque se puede volver a habilitar
            }
        }
Exemple #3
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            acepto = true;

            if (rolComboBox.SelectedItem != null)
            {
                Rol rol = UsuarioLogeado.Instance.Rol = (Rol)rolComboBox.SelectedItem;

                UsuarioLogeado.Instance.Rol.funcionalidades = AppLogin.traerFuncionalidades();

                AppLogin.cargarUsuario();

                //setea el nombre de la persona o del rol si no tuviera una asociada
                if (rol.nombre == "Profesional" || rol.nombre == "Afiliado")
                {
                    pantallaPrincipal.setearLogeo(UsuarioLogeado.Instance.Persona.nombre.ToUpper() + " " + UsuarioLogeado.Instance.Persona.apellido.ToUpper());
                }
                else
                {
                    pantallaPrincipal.setearLogeo(rol.nombre);
                }

                pantallaPrincipal.habilitarFuncionalidades();
            }
            else
            {
                MessageBox.Show("El sistema no tiene guardado ningún rol para este usuario. Contacte a su administrador.");
            }

            AsistenteVistas.volverAPadreYCerrar(pantallaPrincipal, this);
        }
Exemple #4
0
        private void altaButton_Click(object sender, EventArgs e)
        {
            ModoAfiliado modoTitular = new ModoAfiliado(); //se crea una abstraccion que contiene el modo en que se inicia la ventana AltaAfiliado

            modoTitular.modo = "Titular";
            AsistenteVistas.mostrarNuevaVentana(new AltaAfiliado(modoTitular, this), this);
        }
Exemple #5
0
        private void aceptarButton_Click(object sender, EventArgs e)
        {
            List <Medicamento> medicamentosEnNull = new List <Medicamento>();;

            foreach (Medicamento medicamento in medicamentosDeLaReceta)
            {
                if (medicamento.cantidad == 0)
                {
                    medicamentosEnNull.Add(medicamento);
                }
            }
            foreach (Medicamento medicamentoEnNull in medicamentosEnNull)
            {
                medicamentosDeLaReceta.Remove(medicamentoEnNull);
            }
            AppReceta.registrarReceta(afiliado, consulta, bono, medicamentosDeLaReceta);                                                            //genero la receta y la persisto
            MessageBox.Show("La receta médica se ha generado con éxito.");
            DialogResult resultado = MessageBox.Show("¿Desea recetar más medicamentos para la consulta?", "Confirmar", MessageBoxButtons.OKCancel); //si se desea recetar mas medicamentos porque son mas de 5, se ejecuta otra vez la funcionalidad con los mismos datos

            if (resultado == DialogResult.OK)
            {
                GenerarReceta ventanaGenerarReceta = new GenerarReceta(padre);
                AsistenteVistas.mostrarNuevaVentana(ventanaGenerarReceta, this);
                ventanaGenerarReceta.setearAfiliado(afiliado);
                ventanaGenerarReceta.setearConsulta(consulta);
                this.Close();
            }
            else
            {
                AsistenteVistas.volverAPadreYCerrar(padre, this);
            }
        }
 private void grillaMedicamentos_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == grillaMedicamentos.Columns["Seleccionar"].Index && e.RowIndex >= 0 && e.RowIndex < (grillaMedicamentos.Rows.Count - 1)) //Para que la accion de click sea valida solo sobre el boton
     {
         (padre as GenerarReceta).medicamento_aux = crearMedicamento(e.RowIndex);
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
 }
Exemple #7
0
        private void altaConyuge_Click(object sender, EventArgs e)
        {
            ModoAfiliado modo = new ModoAfiliado();

            modo.modo        = afiliado.estadoCivil;
            modo.nroAfiliado = afiliado.nroAfiliado;
            AsistenteVistas.mostrarNuevaVentana(new AltaAfiliado(modo, this), this);
        }
Exemple #8
0
        private void altaFamiliar_Click(object sender, EventArgs e)
        {
            ModoAfiliado modo = new ModoAfiliado();

            modo.modo        = "Familiar";
            modo.nroAfiliado = afiliado.nroAfiliado;
            AsistenteVistas.mostrarNuevaVentana(new AltaAfiliado(modo, this), this);
        }
Exemple #9
0
 private void aceptarButton_Click(object sender, EventArgs e)
 {
     consulta.enfermedades = enfermedadesBox.Text.ToString();
     consulta.sintomas     = sintomasBox.Text.ToString();
     AppRegistrarResultado.registrarResultado(consulta);
     MessageBox.Show("El registro de resultado de atención se ha realizado con éxito");
     AsistenteVistas.volverAPadreYCerrar((padre as ListadoConsultas).padre, this);
 }
 private void grillaBonosFarmacia_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == grillaBonosFarmacia.Columns["Seleccionar"].Index && e.RowIndex >= 0 && e.RowIndex < (grillaBonosFarmacia.Rows.Count - 1)) //Para que la accion de click sea valida solo sobre el boton
     {
         BonoFarmacia bonoFarmacia = armarBonoFarmacia(e.RowIndex);
         (padre as GenerarReceta).setearBonoFarmacia(bonoFarmacia);
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
 }
Exemple #11
0
 private void altasOpcionales()
 {
     if (afiliado.estadoCivil == "Concubinato" || afiliado.estadoCivil == "Casado/a" || afiliado.cantFamiliaresACargo > 0)
     {
         AsistenteVistas.mostrarNuevaVentana(new PeticionAccion(afiliado, padre), this);
     }
     else
     {
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
 }
Exemple #12
0
 private void grillaTurnos_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (afiliado.nroAfiliado != 0)
     {
         if (e.ColumnIndex == grillaTurnos.Columns["Seleccionar"].Index && e.RowIndex >= 0 && e.RowIndex < (grillaTurnos.Rows.Count - 1)) //Para que la accion de click sea valida solo sobre el boton
         {
             Turno turno = armarTurno(e.RowIndex);
             AsistenteVistas.mostrarNuevaVentana(new ElegirBonoConsulta(this, turno), this);
         }
     }
 }
Exemple #13
0
 protected void cancelarPeriodo_Click(object sender, EventArgs e)
 {
     if (null != grilla.DataSource && 0 != grilla.Rows.Count)
     {
         AsistenteVistas.mostrarNuevaVentana(new SetMotivoCancelarPeriodo(this, (DataTable)grilla.DataSource), this);
     }
     else
     {
         MessageBox.Show("La grilla está vacia. Seleccione un intervalo de fechas con turnos.", "Error de ingreso", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
     }
 }
 private void grillaBonos_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == grillaBonos.Columns["Seleccionar"].Index && e.RowIndex >= 0 && e.RowIndex < (grillaBonos.Rows.Count - 1)) //Para que la accion de click sea valida solo sobre el boton
     {
         DataGridViewRow fila = grillaBonos.Rows[e.RowIndex];
         BonoConsulta    bono = armarBonoConsulta(e.RowIndex);
         AppRegistrarLlegada.registrarLlegada(turno, bono);
         MessageBox.Show("Se ha registrado la llegada correctamente.");
         AsistenteVistas.volverAPadreYCerrar((padre as RegistroLlegada).padre, this);
     }
 }
Exemple #15
0
 private void button3_Click(object sender, EventArgs e)
 //me lleva a la ventana de cargar período
 {
     if (labLuNo.Visible && labMaNo.Visible && labMiNo.Visible && labJuNo.Visible && labViNo.Visible && labSaNo.Visible)
     {
         MessageBox.Show("No se especificó ningún día de atención.", "Error");
     }
     else
     {
         AsistenteVistas.mostrarNuevaVentana(new CargarPeriodo(this, Convert.ToDecimal(labNroMedico.Text)), this);
     }
 }
Exemple #16
0
 private void aceptarButton_Click(object sender, EventArgs e)
 {
     try
     {
         DateTime fecha_horario = crearFechaHorario();
         AppPedirTurno.generarTurno(afiliado, profesional, especialidadTurno, fecha_horario);
         MessageBox.Show("El turno se generó correctamente\n\nNro. Afiliado: " + afiliado.nroAfiliado + "\nId Medico: " + profesional.id + "\nEspecialidad: " + especialidadTurno.descripcion + "\nFecha y Horario: " + fecha_horario.ToString("dd/MM/yy HH:mm"));
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
     catch (AfiliadoYaTieneTurnoException ex)
     {
         ErrorManager.messageErrorBox(ex, "Pedir Turno");
     }
 }
 private void acceptButton_Click(object sender, EventArgs e)
 {
     try
     {
         actualizarAfiliado();
         AppAfiliado.actualizarAfiliado(afiliado);
         MessageBox.Show("La actualización se ha realizado con éxito");
         registrarCambioPlan();
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
     catch (DecrementarCantFamiliaresException ex)
     {
         ErrorManager.messageErrorBox(ex, "Modificar Afiliado");
     }
 }
Exemple #18
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         Rol rol = crearRol();
         List <Funcionalidad> listaFuncionalidades = generarListaFuncionalidades();
         AppRol.darAltaRol(rol, listaFuncionalidades);
         MessageBox.Show("El alta del rol se ha realizado con éxito.\n\nDetalle:\nId: " + rol.id + "\nRol: " + rol.nombre);
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
     catch (UserDefinedException ex)
     {
         ErrorManager.messageErrorBox(ex, "Alta Rol");
     }
 }
 private void acceptButton_Click(object sender, EventArgs e)
 {
     try
     {
         actualizarAtributosProfesional();
         List <EspecialidadMedica> listaEspecialidadesNuevas = generarListaEspecialidades();
         AppProfesional.updateProfesional(profesional, listaEspecialidadesNuevas);
         MessageBox.Show("La modificación del médico se ha realizado con éxito.\n\nId Médico: " + profesional.id);
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
     catch (UserDefinedException ex)
     {
         ErrorManager.messageErrorBox(ex, "Modificación Profesional");
     }
 }
Exemple #20
0
 private void acceptButton_Click(object sender, EventArgs e)
 {
     try
     {
         Profesional profesional = crearProfesional();
         List <EspecialidadMedica> listaEspecialidades = generarListaEspecialidades();
         AppProfesional.darAltaProfesional(profesional, listaEspecialidades);
         MessageBox.Show("El alta del médico se ha realizado con éxito.\n\nDetalle:\nId: " + profesional.id + "\nMédico: " + profesional.nombre + " " + profesional.apellido + "\n" + profesional.tipoDoc + ".: " + profesional.nroDoc);
         AsistenteVistas.volverAPadreYCerrar(padre, this);
     }
     catch (UserDefinedException ex)
     {
         ErrorManager.messageErrorBox(ex, "Alta Profesional");
     }
 }
        //ve si un motivo es valido y actualiza la grilla o informa un error
        protected void aceptar_Click(object sender, EventArgs e)
        {
            if (motivoTextBox.Text.Length <= 254 && !Controlador.cadenaEsVaciaONull(motivoTextBox.Text))
            {
                accionarCancelacion(); //metodo a implementar por las subclases

                padre.ActualizarGrilla();

                MessageBox.Show("La cancelación se realizó correctamente.");
                AsistenteVistas.volverAPadreYCerrar(padre, this);
            }
            else
            {
                MessageBox.Show(Controlador.cadenaEsVaciaONull(motivoTextBox.Text) ? "Debe ingresar un motivo" : "El número de letras es demasiado grande. Abrevie la descripcion.", "Error de ingreso", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
            }
        }
Exemple #22
0
        private void botAceptar_Click(object sender, EventArgs e)
        {
            if (!(verificarRangoNonZero(dtpDesde.Value, dtpHasta.Value)))
            {
                MessageBox.Show("Debe especificar un rango de fechas válido", "Error");
                return;
            }

            if (dtpDesde.Value < Globales.getFechaSistema())
            {
                MessageBox.Show("No puede registrar una agenda con fecha pasada", "Error");
                return;
            }

            if (!(verificarLongitudRango(dtpDesde.Value, dtpHasta.Value)))
            {
                MessageBox.Show("No se pueden proyectar agendas a más de 120 días", "Error");
                return;
            }

            //pido confirmación
            if (!(MessageBox.Show("¿Está seguro? Una vez registrada, su agenda no podrá modificarse.", "Confirmar", MessageBoxButtons.YesNo) == DialogResult.Yes))
            {
                return;
            }


            try
            {
                ConectorSQL.ejecutarProcedure("updateFechasMedico", this.id_medico, dtpDesde.Value, dtpHasta.Value);
            }
            catch
            {
                //queda algo para catchear?
                MessageBox.Show("Error desconocido de la BD", "Error");
                return;
            }
            ConectorSQL.ejecutarProcedure("generarAgenda", this.id_medico, dtpDesde.Value, dtpHasta.Value);


            MessageBox.Show("Se generó la agenda profesional", "Éxito");
            ((RegistrarAgenda)padre).cargarPantallaConLosDatos(this.id_medico);
            AsistenteVistas.volverAPadreYCerrar(padre, this);
        }
Exemple #23
0
        private void aceptarButton_Click(object sender, EventArgs e)
        {
            if (cantFamiliares.Text == "")
            {
                cantFamiliares.Text = "0";
            }
            afiliado = crearAfiliado();
            try
            {
                AppAfiliado.existeAfiliado(afiliado);
                switch (modo)
                {
                case "Titular":
                    AppAfiliado.altaAfiliadoTitular(afiliado);
                    break;

                case "Familiar":
                    AppAfiliado.altaAfiliadoFamiliar(afiliado);
                    break;

                default:
                    AppAfiliado.altaAfiliadoConyuge(afiliado);
                    break;
                }


                afiliado.nroAfiliado = AppAfiliado.buscarNroAfiliado(afiliado);
                MessageBox.Show("El alta del afiliado Nro. " + afiliado.nroAfiliado + " se ha realizado correctamente.");

                if (modo == "Titular")
                {
                    altasOpcionales();
                }
                else
                {
                    AsistenteVistas.volverAPadreYCerrar(padre, this);
                }
            }
            catch (AfiliadoYaExisteException ex)
            {
                ErrorManager.messageErrorBox(ex, "Alta Afiliado");
            }
        }
Exemple #24
0
 protected void cancelarAtencion_Click(object sender, EventArgs e)
 {
     if (null != grilla.DataSource && 0 != grilla.Rows.Count && 0 != grilla.SelectedRows.Count && !esFechaDeHoy())
     {
         AsistenteVistas.mostrarNuevaVentana(new SetearMotivoCancelacion(this, grilla.SelectedRows), this);
     }
     else
     if (null == grilla.DataSource || 0 == grilla.Rows.Count)
     {
         MessageBox.Show("La grilla está vacia. Busque y seleccione un turno.", "Error de ingreso", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
     }
     else if (esFechaDeHoy())
     {
         MessageBox.Show("No se pueden cancelar turnos el mismo día que se producirá la atención.", "Error de ingreso", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
     }
     else if (0 == grilla.SelectedRows.Count)
     {
         MessageBox.Show("Debe Seleccionar una fila", "Error de ingreso", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
     }
 }
Exemple #25
0
        private void botAceptar_Click(object sender, EventArgs e)
        {
            string arg_desde;
            string arg_hasta;

            //me fijo que el rango horario no sea ni negativo ni nulo
            if (this.nombre_dia == "Sábado")
            {
                arg_desde = comboSabDesde.SelectedItem.ToString();
                arg_hasta = comboSabHasta.SelectedItem.ToString();
            }
            else
            {
                arg_desde = comboDesde.SelectedItem.ToString();
                arg_hasta = comboHasta.SelectedItem.ToString();
            }


            if (!(((RegistrarAgenda)padre).validarRangoHorario(arg_desde, arg_hasta)))
            {
                MessageBox.Show("Debe ingresar un rango horario válido.", "Error");
                return;
            }


            //la acción sobre la DB la meto en un bloque try, porque la restricción de las 48 hs semanales va a saltar en la base
            try
            {
                ConectorSQL.ejecutarProcedure("modificarDiaAtencion", this.id_medico, ((RegistrarAgenda)padre).getDiaDesdeString(this.nombre_dia), arg_desde, arg_hasta);
            }

            catch
            {
                MessageBox.Show("No se pudo modificar el horario ya que un profesional no puede trabajar más de 48 horas semanales. Por favor revise sus horarios antes de proceder.", "Error");
                return;
            }

            ((RegistrarAgenda)padre).poblarDiasAtencion(this.id_medico);
            AsistenteVistas.volverAPadreYCerrar(padre, this);
        }
Exemple #26
0
        private void botAceptar_Click(object sender, EventArgs e)
        {
            string arg_desde;
            string arg_hasta;

            //me fijo que el rango horario no sea ni negativo ni nulo
            if (comboDia.SelectedItem.ToString() == "Sábado")
            {
                arg_desde = comboSabDesde.SelectedItem.ToString();
                arg_hasta = comboSabHasta.SelectedItem.ToString();
            }
            else
            {
                arg_desde = comboDesde.SelectedItem.ToString();
                arg_hasta = comboHasta.SelectedItem.ToString();
            }


            if (!(((RegistrarAgenda)padre).validarRangoHorario(arg_desde, arg_hasta)))
            {
                MessageBox.Show("Debe ingresar un rango horario válido.", "Error");
                return;
            }

            try
            {
                ConectorSQL.ejecutarProcedure("agregarDiaAtencion", this.id_medico, ((RegistrarAgenda)padre).getDiaDesdeString(comboDia.SelectedItem.ToString()), arg_desde, arg_hasta);
            }

            catch
            {
                MessageBox.Show("No se pudo agregar el día de atención. Verifique que no haya un horario ya existente para este día de la semana, y tenga en cuenta que un médico sólo puede trabajar hasta 48 hs semanales.", "Error");
                return;
            }


            ((RegistrarAgenda)padre).poblarDiasAtencion(this.id_medico);
            AsistenteVistas.volverAPadreYCerrar(padre, this);
        }
Exemple #27
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                actualizarNombreRol();
                List <Funcionalidad> listaFuncionalidadesNuevas = generarListaFuncionalidades();
                AppRol.updateRol(rol, listaFuncionalidadesNuevas);

                if (rol.nombre == UsuarioLogeado.Instance.Rol.nombre) // este "if" es donde metio mano julian
                {
                    pantallaPrincipal.deshabilitarFuncionalidades();  //workaround: deshabilito todos los botones ya que se genera el listado solo de las funcionalidades a mostrar, no a ocultar
                    pantallaPrincipal.habilitarFuncionalidades(listaFuncionalidadesNuevas);
                }

                MessageBox.Show("La modificación del rol se ha realizado con éxito.\n\nId Rol: " + rol.id);
                AsistenteVistas.volverAPadreYCerrar(padre, this);
            }
            catch (UserDefinedException ex)
            {
                ErrorManager.messageErrorBox(ex, "Modificación Rol");
            }
        }
Exemple #28
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            //cuando se intenta logear se devuelve un codigo que son los intentos o si no es de 1 a 3 es un codigo de error
            int n_intentos = AppLogin.intentarLogear(usrNameTextBox.Text, passTextBox.Text);

            //se acciona en base al intento de logeo (y el codigo o veces intentadas en n_intentos)
            if (0 == n_intentos)
            {
                UsuarioLogeado.Instance.UserName = usrNameTextBox.Text;

                AsistenteVistas.mostrarNuevaVentana(new ElegirRol(pantallaPrincipal), this);
            }
            else
            {
                if (n_intentos == -1)
                {
                    MessageBox.Show("...error conectando con la base de datos...");
                }
                else if (n_intentos < 3)
                {
                    MessageBox.Show("Contraseña erronea. Le quedan " + (3 - n_intentos) + " intentos.");
                }
                else if (n_intentos == 3)
                {
                    MessageBox.Show("Contraseña erronea. Se procederá a deshabilitar su usuario por seguridad.");
                }
                else if (n_intentos == 4)
                {
                    MessageBox.Show("Su usuario se encuentra deshabilitado por razones de seguridad. " +
                                    "Consulte con su administrador para volver a habilitarlo.");
                }
                else if (n_intentos == 5)
                {
                    MessageBox.Show("No existe el usuario ingresado en el sistema");
                }
            }
        }
Exemple #29
0
 private void button9_Click(object sender, EventArgs e)
 {
     AsistenteVistas.mostrarNuevaVentana(new ListadosEstadisticos(this), this);
 }
Exemple #30
0
 private void button11_Click(object sender, EventArgs e)
 {
     AsistenteVistas.mostrarNuevaVentana(new CompraBono(this), this);
 }