private void buttonConfirmar_Click(object sender, EventArgs e)
        {
            String fecha_desde = fechaDesde.Value.ToShortDateString();
            String fecha_hasta = fechaHasta.Value.ToShortDateString();

            DateTime hoy = ConfiguracionApp.getInstance().fechaActual;

            if (DateTime.Parse(fecha_desde) >= hoy)
            {
                if (DateTime.Parse(fecha_desde) <= DateTime.Parse(fecha_hasta))
                {
                    if (this.validarHorarios())
                    {
                        try
                        {
                            this.controller.registraAgenda(medicoSeleccionado, especialidadSeleccionada, horasDesde, horasHasta, fecha_desde, fecha_hasta);
                            this.Close();
                        }
                        catch (Exception x)
                        {
                            this.showErrorMessage(x.Message);
                        }
                    }
                }
                else
                {
                    this.showErrorMessage("La Fecha Hasta debe ser posterior a la Fecha Desde");
                }
            }
            else
            {
                this.showErrorMessage("La Fecha Desde no puede ser menor a la fecha de hoy");
            }
        }
        private void buttonLimpiar_Click(object sender, EventArgs e)
        {
            DateTime hoy = ConfiguracionApp.getInstance().fechaActual;

            this.dateTimePicker.Value          = hoy;
            this.comboBoxMedicos.SelectedIndex = 0;
        }
示例#3
0
        private void buttonLimpiar_Click(object sender, EventArgs e)
        {
            DateTime hoy = ConfiguracionApp.getInstance().fechaActual;

            this.dateTimeTurno.Value          = hoy;
            this.textBoxApellidoMedico.Text   = "";
            this.textBoxApellidoPaciente.Text = "";
            this.textBoxNombreMedico.Text     = "";
            this.textBoxNombrePaciente.Text   = "";
        }
        public void configureConnection()
        {
            string bdServer       = ConfiguracionApp.getInstance().bdServer;
            string bdName         = ConfiguracionApp.getInstance().bdName;
            string bdUser         = ConfiguracionApp.getInstance().bdUser;
            string bdUserPassword = ConfiguracionApp.getInstance().bdUserPassword;

            connection = new SqlConnection();
            connection.ConnectionString = "Server=" + bdServer + ";" +
                                          "Database=" + bdName + ";" +
                                          "User Id=" + bdUser + ";" +
                                          "Password="******";";
        }
示例#5
0
        private void validarCancelarDia()
        {
            DateTime hoy   = ConfiguracionApp.getInstance().fechaActual;
            DateTime fecha = this.fecha.Value;

            if ((fecha - hoy).TotalDays < 1)
            {
                this.showErrorMessage("La fecha de cancelacion debe ser posterior a 1 dia a partir de hoy para poder cancelarlo.");
            }
            else
            {
                this.controller.mostrarIngresarMotivoYTipoCancelacionDia();
            }
        }
        public void registrarLlegadaConsulta(Turno turno, decimal bonoId)
        {
            ConsultaManager consultaManager  = new ConsultaManager();
            DateTime        hoy              = ConfiguracionApp.getInstance().fechaActual;
            int             registroConsulta = consultaManager.registrarLlegada(turno, hoy, bonoId);

            if (registroConsulta > 0)
            {
                this.form.showInformationMessage("La consulta fue registrada con éxito");
                this.form.Close();
            }
            else
            {
                this.form.showErrorMessage("Ocurrió un error al registrar la consulta");
            }
        }
        private void buttonBuscar_Click(object sender, EventArgs e)
        {
            DateTime hoy         = ConfiguracionApp.getInstance().fechaActual;
            DateTime fechaBuscar = this.dateTimePicker.Value;
            Medico   medico      = (Medico)this.comboBoxMedicos.SelectedValue;

            if ((fechaBuscar - hoy).TotalDays < 1)
            {
                this.showErrorMessage("La fecha de un turno debe ser posterior a 1 dia a partir de hoy para poder cancelarlo.");
            }
            else
            {
                this.buttonBuscar.Enabled  = false;
                this.buttonLimpiar.Enabled = false;

                this.controller.buscarTurnosConFiltros(fechaBuscar, medico.matricula);
            }
        }
示例#8
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                ConfiguracionApp.getInstance();

                LoginForm loginForm = new LoginForm();
                loginForm.Show();
                Application.Run();
            }
            catch (Exception e)
            {
                MessageBox.Show("El archivo de configuracion es incorrecto. Por favor, complete correctamente todos los campos necesarios (Fecha y parametros de Base de Datos).", "Error");
            }
        }
示例#9
0
        private void buttonBuscar_Click(object sender, EventArgs e)
        {
            DateTime hoy         = ConfiguracionApp.getInstance().fechaActual;
            DateTime fechaBuscar = this.dateTimeTurno.Value;

            if ((fechaBuscar - hoy).TotalDays < 1)
            {
                this.showErrorMessage("La fecha de un turno debe ser posterior a 1 dia a partir de hoy para poder cancelarlo.");
            }
            else
            {
                string nombreMedico     = this.textBoxNombreMedico.Text.Trim();
                string apellidoMedico   = this.textBoxApellidoMedico.Text.Trim();
                string nombrePaciente   = this.textBoxNombrePaciente.Text.Trim();
                string apellidoPaciente = this.textBoxApellidoPaciente.Text.Trim();

                this.controller.buscarTurnos(fechaBuscar, nombreMedico, apellidoMedico, nombrePaciente, apellidoPaciente);
            }
        }
示例#10
0
        public void onSintomasYEnfermadadesCompletadas(string sintomas, string enfermedades)
        {
            DataGridViewRow row = this.form.getConsultaSeleccionada();

            decimal  idConsulta = Decimal.Parse(row.Cells[0].Value.ToString());
            DateTime hoy        = ConfiguracionApp.getInstance().fechaActual;

            AtencionMedicaManager atencionMedicaManager = new AtencionMedicaManager();
            bool registroConsulta = atencionMedicaManager.registrarConsulta(idConsulta, hoy, sintomas, enfermedades);

            if (registroConsulta)
            {
                this.form.showInformationMessage("La consulta fue registrada con exito");
                this.form.Close();
            }
            else
            {
                this.form.showErrorMessage("Ocurrio un error al registrar la consulta");
            }
        }
示例#11
0
        private void validarCancelarRango()
        {
            DateTime hoy = ConfiguracionApp.getInstance().fechaActual;

            DateTime fechaDesde = this.fechaDesde.Value;
            DateTime fechaHasta = this.fechaHasta.Value;

            if (fechaDesde.CompareTo(fechaHasta) >= 0)
            {
                this.showErrorMessage("La fecha hasta debe ser menor a la fecha desde");
            }
            else
            {
                if ((fechaDesde - hoy).TotalDays < 1)
                {
                    this.showErrorMessage("La fecha de cancelacion debe ser posterior a 1 dia a partir de hoy para poder cancelarlo.");
                }
                else
                {
                    this.controller.mostrarIngresarMotivoYTipoCancelacionRango();
                }
            }
        }
示例#12
0
        private void validateData()
        {
            StringBuilder stringErrorBuilder = new StringBuilder();

            if (this.textBoxNombre.Text.Trim().Length == 0)
            {
                stringErrorBuilder.Append("Complete el Nombre.\n");
            }

            if (this.textBoxApellido.Text.Trim().Length == 0)
            {
                stringErrorBuilder.Append("Complete el Apellido.\n");
            }

            if (this.textBoxNroDoc.Text.Trim().Length == 0)
            {
                stringErrorBuilder.Append("Complete el Numero de Documento.\n");
            }

            if (this.textBoxDireccion.Text.Trim().Length == 0)
            {
                stringErrorBuilder.Append("Complete la Direccion.\n");
            }

            if (this.textBoxTelefono.Text.Trim().Length == 0)
            {
                stringErrorBuilder.Append("Complete el Telefono.\n");
            }

            if (this.textBoxEmail.Text.Trim().Length == 0)
            {
                stringErrorBuilder.Append("Complete el Email.\n");
            }

            if (this.dateTimePickerFechaNac.Value.ToString().Trim().Length == 0)
            {
                stringErrorBuilder.Append("Complete la Fecha de Nacimiento.\n");
            }
            else
            {
                DateTime fechaNacimientoSeleccionada = this.dateTimePickerFechaNac.Value;
                DateTime hoy = ConfiguracionApp.getInstance().fechaActual;
                if (fechaNacimientoSeleccionada.CompareTo(hoy) > 0)
                {
                    stringErrorBuilder.Append("La Fecha de Nacimiento debe ser anterior al dia actual.\n");
                }
            }

            if (this.comboBoxEstadoCivil.SelectedIndex == 0)
            {
                stringErrorBuilder.Append("Seleccione un Estado Civil.\n");
            }

            if (this.comboBoxSexo.SelectedIndex == 0)
            {
                stringErrorBuilder.Append("Seleccione un Sexo.\n");
            }

            if (this.comboBoxTipoDoc.SelectedIndex == 0)
            {
                stringErrorBuilder.Append("Seleccione un Tipo de Documento.\n");
            }

            if (stringErrorBuilder.ToString().Trim().Length > 0)
            {
                throw new Exception(stringErrorBuilder.ToString());
            }
        }
示例#13
0
        internal List <Turno> getTurnosParaFechaDeHoy(Medico medico, Especialidad especialidad)
        {
            List <Turno> turnos = new List <Turno>();


            try
            {
                ParametroParaSP parametro1 = new ParametroParaSP("medico_id", SqlDbType.Decimal, medico.matricula);
                ParametroParaSP parametro2 = new ParametroParaSP("especialidad_codigo", SqlDbType.Decimal, especialidad.codigo);
                ParametroParaSP parametro3 = new ParametroParaSP("fecha", SqlDbType.DateTime, ConfiguracionApp.getInstance().fechaActual);

                List <ParametroParaSP> parametros = new List <ParametroParaSP>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);

                this.openDB();

                SqlCommand    procedure = this.createCallableProcedure("BETTER_CALL_JUAN.Procedure_Buscar_Turnos_Fecha_Por_Medico", parametros);
                SqlDataReader sqlReader = procedure.ExecuteReader();

                if (sqlReader.HasRows)
                {
                    while (sqlReader.Read())
                    {
                        Turno turno = new Turno();
                        turno.pacienteId = sqlReader.GetDecimal(0);

                        Paciente paciente = new Paciente();
                        paciente.tipoDoc  = sqlReader.GetString(1);
                        paciente.nroDoc   = sqlReader.GetDecimal(2);
                        paciente.nombre   = sqlReader.GetString(3);
                        paciente.apellido = sqlReader.GetString(4);

                        turno.fechaHora = sqlReader.GetDateTime(5);
                        turno.numero    = sqlReader.GetDecimal(6);

                        turno.paciente = paciente;

                        turnos.Add(turno);
                    }
                }
            }
            catch (Exception e)
            {
                turnos = null;
            }
            finally
            {
                this.closeDB();
            }

            return(turnos);
        }
示例#14
0
        internal bool modificarAfiliado(decimal planMedicoCodViejo, Paciente paciente, string motivoCambioPlan)
        {
            bool modificoAfiliado = true;

            try
            {
                ParametroParaSP        parametro1  = new ParametroParaSP("paciente_id", SqlDbType.Decimal, paciente.id);
                ParametroParaSP        parametro3  = new ParametroParaSP("tipo_doc", SqlDbType.VarChar, paciente.tipoDoc);
                ParametroParaSP        parametro4  = new ParametroParaSP("nro_doc", SqlDbType.Decimal, paciente.nroDoc);
                ParametroParaSP        parametro5  = new ParametroParaSP("direccion", SqlDbType.VarChar, paciente.direccion);
                ParametroParaSP        parametro6  = new ParametroParaSP("telefono", SqlDbType.Decimal, paciente.telefono);
                ParametroParaSP        parametro7  = new ParametroParaSP("mail", SqlDbType.VarChar, paciente.mail);
                ParametroParaSP        parametro8  = new ParametroParaSP("sexo", SqlDbType.Char, paciente.sexo);
                ParametroParaSP        parametro9  = new ParametroParaSP("estado_civil", SqlDbType.VarChar, paciente.estadoCivil);
                ParametroParaSP        parametro10 = new ParametroParaSP("plan_viejo_id", SqlDbType.Decimal, planMedicoCodViejo);
                ParametroParaSP        parametro11 = new ParametroParaSP("plan_nuevo_id", SqlDbType.Decimal, paciente.planMedicoCod);
                ParametroParaSP        parametro12 = new ParametroParaSP("motivo", SqlDbType.VarChar, motivoCambioPlan);
                ParametroParaSP        parametro13 = new ParametroParaSP("fecha_hoy", SqlDbType.DateTime, ConfiguracionApp.getInstance().fechaActual);
                List <ParametroParaSP> parametros  = new List <ParametroParaSP>();
                parametros.Add(parametro1);
                parametros.Add(parametro3);
                parametros.Add(parametro4);
                parametros.Add(parametro5);
                parametros.Add(parametro6);
                parametros.Add(parametro7);
                parametros.Add(parametro8);
                parametros.Add(parametro9);
                parametros.Add(parametro10);
                parametros.Add(parametro11);
                parametros.Add(parametro12);
                parametros.Add(parametro13);

                this.openDB();

                SqlCommand procedure = this.createCallableProcedure("BETTER_CALL_JUAN.Procedure_Modificar_Afiliado", parametros);
                procedure.ExecuteNonQuery();
            }
            catch (SqlException e)
            {
                modificoAfiliado = false;
            }
            finally
            {
                this.closeDB();
            }

            return(modificoAfiliado);
        }
示例#15
0
        internal List <string> getFechasDisponibles(Medico medico, Especialidad especialidad)
        {
            List <string> fechasDisponibles = new List <string>();

            try
            {
                ParametroParaSP parametro1 = new ParametroParaSP("medico_id", SqlDbType.Decimal, medico.matricula);
                ParametroParaSP parametro2 = new ParametroParaSP("especialidad_codigo", SqlDbType.Decimal, especialidad.codigo);
                ParametroParaSP parametro3 = new ParametroParaSP("fecha_hoy", SqlDbType.DateTime, ConfiguracionApp.getInstance().fechaActual);

                List <ParametroParaSP> parametros = new List <ParametroParaSP>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);

                this.openDB();

                SqlCommand    procedure = this.createCallableProcedure("BETTER_CALL_JUAN.Procedure_Get_Fechas_Disponibles_Para_Turno", parametros);
                SqlDataReader sqlReader = procedure.ExecuteReader();

                if (sqlReader.HasRows)
                {
                    while (sqlReader.Read())
                    {
                        string fecha = sqlReader.GetDateTime(0).ToShortDateString();
                        fechasDisponibles.Add(fecha);
                    }
                }
            }
            catch (Exception e)
            {
                fechasDisponibles = null;
            }
            finally
            {
                this.closeDB();
            }

            return(fechasDisponibles);
        }
示例#16
0
        internal bool eliminarAfiliado(Paciente pacienteAEliminar)
        {
            bool eliminarAfiliado = true;

            try
            {
                ParametroParaSP        parametro1 = new ParametroParaSP("id_paciente", SqlDbType.Decimal, pacienteAEliminar.id);
                ParametroParaSP        parametro2 = new ParametroParaSP("fecha_hoy", SqlDbType.DateTime, ConfiguracionApp.getInstance().fechaActual);
                List <ParametroParaSP> parametros = new List <ParametroParaSP>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);

                this.openDB();

                SqlCommand procedure = this.createCallableProcedure("BETTER_CALL_JUAN.Procedure_Baja_Afiliado", parametros);
                procedure.ExecuteNonQuery();
            }
            catch (SqlException e)
            {
                eliminarAfiliado = false;
            }
            finally
            {
                this.closeDB();
            }

            return(eliminarAfiliado);
        }
        internal void mostrarHorarios(List <CheckBox> CBLDias, Medico medico, Especialidad especialidad)
        {
            especialidadSeleccionada = especialidad;
            medicoSeleccionado       = medico;
            this.horasDesde          = new Dictionary <NumericUpDown, NumericUpDown>();
            this.horasHasta          = new Dictionary <NumericUpDown, NumericUpDown>();
            int ycoords = 0;
            int xcoords = 3;

            this.fechaDesde.Value = ConfiguracionApp.getInstance().fechaActual;
            this.fechaHasta.Value = ConfiguracionApp.getInstance().fechaActual;

            CBLDias.ForEach(cbdia =>
            {
                if (cbdia.Checked)
                {
                    Label dia    = new Label();
                    dia.Width    = 70;
                    dia.Text     = cbdia.Text;
                    dia.Location = new Point(xcoords, ycoords);
                    dia.Font     = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                    diasPanel.Controls.Add(dia);
                    xcoords += 96;

                    NumericUpDown horaDesde = new NumericUpDown();
                    horaDesde.Name          = dia.Text;
                    horaDesde.Maximum       = 23;
                    horaDesde.Minimum       = 0;
                    horaDesde.Width         = 40;
                    horaDesde.Location      = new Point(xcoords, ycoords);
                    horaDesde.Font          = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                    diasPanel.Controls.Add(horaDesde);
                    xcoords += 80;

                    NumericUpDown minutosDesde = new NumericUpDown();
                    minutosDesde.Name          = dia.Text;
                    minutosDesde.Maximum       = 59;
                    minutosDesde.Minimum       = 0;
                    minutosDesde.Width         = 40;
                    minutosDesde.Location      = new Point(xcoords, ycoords);
                    minutosDesde.Font          = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                    diasPanel.Controls.Add(minutosDesde);
                    xcoords += 73;

                    NumericUpDown horaHasta = new NumericUpDown();
                    horaHasta.Name          = dia.Text;
                    horaHasta.Maximum       = 23;
                    horaHasta.Minimum       = 0;
                    horaHasta.Width         = 40;
                    horaHasta.Location      = new Point(xcoords, ycoords);
                    horaHasta.Font          = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                    diasPanel.Controls.Add(horaHasta);
                    xcoords += 70;

                    NumericUpDown minutosHasta = new NumericUpDown();
                    minutosHasta.Name          = dia.Text;
                    minutosHasta.Maximum       = 59;
                    minutosHasta.Minimum       = 0;
                    minutosHasta.Width         = 40;
                    minutosHasta.Location      = new Point(xcoords, ycoords);
                    minutosHasta.Font          = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                    diasPanel.Controls.Add(minutosHasta);

                    ycoords += 25;
                    this.horasDesde.Add(horaDesde, minutosDesde);
                    this.horasHasta.Add(horaHasta, minutosHasta);
                    xcoords = 3;
                }
            });

            this.Show();
        }
        internal decimal comprarBono(decimal usuarioId, decimal cantBonos, decimal planCodigo)
        {
            decimal montoAPagar = 0;

            try
            {
                ParametroParaSP        parametro1 = new ParametroParaSP("id_usuario", SqlDbType.Decimal, usuarioId);
                ParametroParaSP        parametro2 = new ParametroParaSP("cant_bonos", SqlDbType.Decimal, cantBonos);
                ParametroParaSP        parametro3 = new ParametroParaSP("plan_medico_bono_id", SqlDbType.Decimal, planCodigo);
                ParametroParaSP        parametro4 = new ParametroParaSP("monto_a_pagar", SqlDbType.Decimal);
                ParametroParaSP        parametro5 = new ParametroParaSP("fecha_hoy", SqlDbType.DateTime, ConfiguracionApp.getInstance().fechaActual);
                List <ParametroParaSP> parametros = new List <ParametroParaSP>();
                parametros.Add(parametro1);
                parametros.Add(parametro2);
                parametros.Add(parametro3);
                parametros.Add(parametro4);
                parametros.Add(parametro5);

                this.openDB();

                SqlCommand procedure = this.createCallableProcedure("BETTER_CALL_JUAN.Procedure_Comprar_Bonos", parametros);
                procedure.ExecuteNonQuery();

                montoAPagar = Convert.ToDecimal(procedure.Parameters["@monto_a_pagar"].Value);
            }
            catch (Exception e)
            {
                montoAPagar = 0;
            }
            finally
            {
                this.closeDB();
            }
            return(montoAPagar);
        }