private void btnBuscarTurno_Click(object sender, EventArgs e)
        {
            using (FrmAgendaConsultar frm = new FrmAgendaConsultar(_profesional, 3))
            {
                frm.ShowDialog(this);
                if (frm.TurnoSeleccionado != null)
                {
                    this._turno = frm.TurnoSeleccionado;
                }
            }
            if (_turno != null)
            {
                tbTurno.Text = _turno.ToString();
                try
                {
                    IResultado <Afiliado> resultadoAfiliado = _afiliadoDomain.Obtener(_turno.IdAfiliado);
                    if (!resultadoAfiliado.Correcto)
                    {
                        throw new ResultadoIncorrectoException <Afiliado>(resultadoAfiliado);
                    }

                    _afiliado       = resultadoAfiliado.Retorno;
                    tbAfiliado.Text = _afiliado.NombreCompleto;

                    this.dpFecha.Enabled             = true;
                    this.btnConfirmarHorario.Enabled = true;
                    this.button1.Enabled             = true;
                }
                catch (Exception ex)
                {
                    MensajePorPantalla.MensajeError(ex.Message);
                    this.Close();
                }
            }
        }
示例#2
0
        static void Main()
        {
            string path     = AppConfigReader.Get("log_path");
            string filename = Path.Combine(path, string.Format("{0}.log", DateTime.Now.ToString("yyyyMMddhhmmss")));

            ContextoActual = new Contexto(filename, FechaHelper.Ahora());

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                ContextoActual.Logger.Iniciar();
                Application.Run(new FrmPrincipal());
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError("Ha ocurrido un error fatal. Revise el archivo de log para obtener más información al respecto.");
                ContextoActual.Logger.Log(ex);
            }
            finally
            {
                ContextoActual.Logger.Finalizar();
            }
        }
示例#3
0
        protected override void CargarEntidad()
        {
            try
            {
                this.tbApellido.Text        = AfiliadoModificado.Apellido;
                this.tbDireccion.Text       = AfiliadoModificado.Direccion;
                this.tbMail.Text            = AfiliadoModificado.Mail;
                this.tbNombre.Text          = AfiliadoModificado.Nombre;
                this.tbNroAfiliado.Text     = AfiliadoModificado.NroAfiliado.ToString();
                this.tbNroAfiliado.Enabled  = false;
                this.tbNroDocumento.Text    = AfiliadoModificado.Documento.ToString();
                this.tbNroDocumento.Enabled = false;
                IResultado <PlanMedico> resObtener = _planMedicoDomain.Obtener(AfiliadoModificado.IdPlanMedico);
                if (!resObtener.Correcto)
                {
                    throw new ResultadoIncorrectoException <PlanMedico>(resObtener);
                }
                _plan = resObtener.Retorno;

                this.tbPlanMedico.Text            = _plan.Descripcion;
                this.tbTelefono.Text              = AfiliadoModificado.Telefono.ToString();
                this.cbEstadoCivil.SelectedItem   = AfiliadoModificado.EstadoCivil;
                this.cbSexo.SelectedItem          = AfiliadoModificado.Sexo;
                this.cbTipoDocumento.SelectedItem = AfiliadoModificado.TipoDocumento;
                this.cbTipoDocumento.Enabled      = false;
                this.dpFechaNacimiento.Value      = AfiliadoModificado.FechaNacimiento;
                this.ndCantHijos.Enabled          = false;
                this.ndCantHijos.Value            = AfiliadoModificado.CantidadHijos;
                this.cbEstadoCivil.Enabled        = false;
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }
        }
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            ResultadoTurno rt = this.ObtenerResultadoTurno();

            try
            {
                IResultado <ResultadoTurno> resultado = _domain.RegistrarResultadoTurno(rt);
                if (!resultado.Correcto)
                {
                    throw new ResultadoIncorrectoException <ResultadoTurno>(resultado);
                }
                // Le asigna el id:
                rt.IdResultadoTurno = resultado.Retorno.IdResultadoTurno;

                DialogResult altaReceta = MensajePorPantalla.MensajeInterrogativo(this, "¿Desea hacer recetas?", MessageBoxButtons.YesNo);
                if (altaReceta == DialogResult.Yes)
                {
                    using (FrmRecetaAlta frm = new FrmRecetaAlta(rt, _profesional, _afiliado))
                    {
                        frm.ShowDialog(this);
                    }
                }
                MensajePorPantalla.MensajeInformativo(this, "Resultado de la consulta guardado correctamente");
                this.Close();
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }
        }
示例#5
0
        protected override void AccionAceptar()
        {
            try
            {
                Profesional prof = this.ObtenerProfesional();
                IResultado <Profesional> resultado = _profesionalDomain.Modificar(prof);
                if (!resultado.Correcto)
                {
                    throw new ResultadoIncorrectoException <Profesional>(resultado);
                }

                var resultadoLimpiarEspecialidades = _profesionalDomain.LimpiarEspecialidades(prof);
                if (!resultadoLimpiarEspecialidades.Correcto)
                {
                    throw new ResultadoIncorrectoException <bool>(resultadoLimpiarEspecialidades);
                }

                foreach (Especialidad especialidad in lstEspecialidades.Items.Cast <Especialidad>())
                {
                    var resultadoAsociar = _profesionalDomain.AsociarProfesionalEspecialidad(prof, especialidad);
                    if (!resultadoAsociar.Correcto)
                    {
                        throw new ResultadoIncorrectoException <bool>(resultadoAsociar);
                    }
                }
                MensajePorPantalla.MensajeInformativo(this, "Modificado con éxito");
                this.Close();
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(ex.Message);
            }
        }
        private void btnAgregar_Click_1(object sender, EventArgs e)
        {
            if (this.Validar() && cantidadMedicamentos < 5)
            {
                this.btnBuscar.Enabled = true;
                ItemReceta ir = new ItemReceta();
                ir.NombreMedicamento = tbMedicamento.Text;
                ir.CantidadEnLetras  = tbCantidad.Text;
                ir.Cantidad          = (int)ndCantidad.Value;
                ir.IdMedicamento     = nuevo.IdMedicamento;

                var repetidos = lstMedicamentos.Items.Cast <ItemReceta>().Count(i => i.IdMedicamento == ir.IdMedicamento);
                if (repetidos == 0)
                {
                    lstMedicamentos.Items.Add(ir);
                    cantidadMedicamentos++;
                    tbCantMedicamentos.Text = cantidadMedicamentos.ToString();
                }
                else
                {
                    MensajePorPantalla.MensajeError(this, "Este medicamento ya está recetado");
                }
            }
            else
            {
                MensajePorPantalla.MensajeError(this, "Solo pueden cargarse 5 (cinco) medicamentos por receta. Guarde y cree una nueva receta");
                this.btnBuscar.Enabled = false;
            }
            this.btnAceptar.Enabled = lstMedicamentos.Items.Count < 6;
        }
示例#7
0
        protected override void AccionFiltrar()
        {
            try
            {
                FiltroAfiliado filtro = ObtenerFiltro();

                IResultado <IList <Afiliado> > resultado = _domain.Filtrar(filtro);

                if (!resultado.Correcto)
                {
                    throw new ResultadoIncorrectoException <IList <Afiliado> >(resultado);
                }

                this.dgvBusqueda.DataSource = resultado.Retorno;
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }

            this.dgvBusqueda.Columns["IdAfiliado"].Visible     = false;
            this.dgvBusqueda.Columns["NroPrincipal"].Visible   = false;
            this.dgvBusqueda.Columns["NroSecundario"].Visible  = false;
            this.dgvBusqueda.Columns["IdPlanMedico"].Visible   = false;
            this.dgvBusqueda.Columns["NombreCompleto"].Visible = false;
            this.dgvBusqueda.Columns["Habilitado"].Visible     = false;
            this.dgvBusqueda.Columns["CantidadHijos"].Visible  = false;
        }
示例#8
0
        private void FrmEstadisticas_Load(object sender, EventArgs e)
        {
            Semestre semestre = ObtenerSemestre();

            lblSemestre.Text    = semestre.ToString();
            this.dtpFecha.Value = FechaHelper.Ahora();

            try
            {
                IResultado <IList <Estadistica> > resultadoObtenerNombres = _domain.ObtenerTodos();
                if (!resultadoObtenerNombres.Correcto)
                {
                    throw new ResultadoIncorrectoException <IList <Estadistica> >(resultadoObtenerNombres);
                }

                IList <Estadistica> vistas = resultadoObtenerNombres.Retorno;
                cbVista.DataSource    = vistas;
                cbVista.DisplayMember = "NombreEstadistica";
                cbVista.ValueMember   = "IdEstadistica";
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }
        }
        private void btnValidar_Click(object sender, EventArgs e)
        {
            try
            {
                decimal idBono = Convert.ToDecimal(tbBonoFarmacia.Text);
                IResultado <BonoFarmacia> resultado = _domain.ValidarBonoFarmacia(idBono, _afiliado.NroPrincipal, FechaHelper.Ahora());
                if (!resultado.Correcto)
                {
                    throw new ResultadoIncorrectoException <BonoFarmacia>(resultado);
                }

                bonoFarmacia = resultado.Retorno;

                groupBox2.Enabled            = true;
                this.tbBonoFarmacia.ReadOnly = true;
                this.btnBuscar.Enabled       = true;
                this.btnAgregar.Enabled      = true;
                this.btnQuitar.Enabled       = true;
                this.dateTimePicker1.Enabled = false;
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }
        }
示例#10
0
        protected override void CargarEntidad()
        {
            try
            {
                tbApellido.Text              = _profesional.Apellido;
                tbNombre.Text                = _profesional.Nombre;
                tbDireccion.Text             = _profesional.Direccion;
                tbNroDocumento.Text          = _profesional.Dni.ToString();
                dpFechaNacimiento.Value      = _profesional.FechaNacimiento;
                tbMail.Text                  = _profesional.Mail;
                tbMatriculaProfesional.Text  = _profesional.Matricula.ToString();
                tbTelefono.Text              = _profesional.Telefono.ToString();
                cbSexo.SelectedItem          = _profesional.Sexo;
                cbTipoDocumento.SelectedItem = _profesional.TipoDni;

                IResultado <IList <Especialidad> > resultadoEspecialidades = _especialidadDomain.ObtenerPorProfesional(this._profesional);
                if (!resultadoEspecialidades.Correcto)
                {
                    throw new ResultadoIncorrectoException <IList <Especialidad> >(resultadoEspecialidades);
                }

                foreach (Especialidad esp in resultadoEspecialidades.Retorno)
                {
                    lstEspecialidades.Items.Add(esp);
                }
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(ex.Message);
            }
        }
        protected override void AccionFiltrar()
        {
            try
            {
                var filtro        = new FiltroRol();
                var funcionalidad = cbFuncionalidad.SelectedItem as Funcionalidad;
                if (funcionalidad != null && chFuncionalidad.Checked)
                {
                    filtro.IdFuncionalidad = funcionalidad.IdFuncionalidad;
                }
                filtro.Nombre = tbRol.Text;

                IResultado <IList <Rol> > obtenerTodos = _rolDomain.Filtrar(filtro);
                if (!obtenerTodos.Correcto)
                {
                    throw new ResultadoIncorrectoException <IList <Rol> >(obtenerTodos);
                }

                IList <Rol> roles = obtenerTodos.Retorno;
                dgvBusqueda.DataSource = roles;
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }

            this.dgvBusqueda.Columns["Id"].Visible         = false;
            this.dgvBusqueda.Columns["Habilitado"].Visible = false;
        }
示例#12
0
        protected override void AccionAceptar()
        {
            Afiliado afiliado = this.ObtenerAfiliado();

            if (_primeraVez)
            {
                try
                {
                    AltaAfiliado(afiliado);
                    AltaDelGrupoFamiliar(afiliado);
                    this.Cancelar();
                }
                catch (Exception ex)
                {
                    MensajePorPantalla.MensajeError(ex.Message);
                }
            }
            else
            {
                try
                {
                    AltaAfiliado(afiliado);
                    this.Cancelar();
                }
                catch (Exception ex)
                {
                    MensajePorPantalla.MensajeError(ex.Message);
                }
            }
        }
示例#13
0
        private void frmPrincipal_Load_MostrarLogin()
        {
            Usuario usuario = null;
            Rol     rol     = null;

            using (FrmLogin frm = new FrmLogin())
            {
                frm.ShowDialog(this);
                usuario = frm.UsuarioIniciado;
                rol     = frm.RolUsuario;
            }

            if (usuario != null)
            {
                Program.ContextoActual.RegistrarUsuario(usuario);
            }
            if (rol != null)
            {
                Program.ContextoActual.RegistrarRol(rol);
                this.tstNombre.Text = "Sin Afiliado/Profesional asociado al usuario";
                if (rol.Id == 1) //Afiliado
                {
                    try
                    {
                        IResultado <Afiliado> resultadoAfiliado = _afiliadoDomain.ObtenerPorUsuario(usuario);
                        if (!resultadoAfiliado.Correcto)
                        {
                            throw new ResultadoIncorrectoException <Afiliado>(resultadoAfiliado);
                        }

                        Program.ContextoActual.RegistrarAfiliado(resultadoAfiliado.Retorno);
                        this.tstNombre.Text = "AFILIADO: " + Program.ContextoActual.AfiliadoDelUsuario.NombreCompleto;
                    }
                    catch (Exception ex)
                    {
                        MensajePorPantalla.MensajeError(this, ex.Message);
                    }
                }
                if (rol.Id == 3) //Profesional
                {
                    try
                    {
                        IResultado <Profesional> resultadoProfesional = _profesionalDomain.ObtenerPorUsuario(usuario);
                        if (!resultadoProfesional.Correcto)
                        {
                            throw new ResultadoIncorrectoException <Profesional>(resultadoProfesional);
                        }

                        Program.ContextoActual.RegistrarProfesional(resultadoProfesional.Retorno);
                        this.tstNombre.Text = "PROFESIONAL: " + Program.ContextoActual.ProfesionalDelUsuario.NombreCompleto;
                    }
                    catch (Exception ex)
                    {
                        MensajePorPantalla.MensajeError(this, ex.Message);
                    }
                }
            }
        }
示例#14
0
        public bool Validar()
        {
            bool esCorrecto = Lista.Items.Count > 0;

            if (!esCorrecto)
            {
                MensajePorPantalla.MensajeError("La lista " + Lista.Name + " debe contener al menos un elemento.");
            }
            return(esCorrecto);
        }
        public bool Validar()
        {
            bool esCorrecto = MailHelper.Validar(_control.Text);

            if (!esCorrecto)
            {
                MensajePorPantalla.MensajeError("Ingrese un mail válido");
            }
            return(esCorrecto);
        }
 private void button3_Click(object sender, EventArgs e)
 {
     try
     {
         CancelarTurnos();
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
 private void btnRegistrar_Click(object sender, EventArgs e)
 {
     DateTime ahora = FechaHelper.Ahora();
     if (_turno.HoraInicio.Subtract(ahora).TotalMinutes < 0 )
     {
         this.Registrar();
     }
     else
     {
         MensajePorPantalla.MensajeError(this, "Debería haberse presentado por lo menos 15 minutos antes del comienzo del turno");
     }
 }
 private void AgregarDia_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.validarCargaHorarioDia())
         {
             this.agregarDiaACronograma();
         }
     }
     catch (Exception)
     {
         MensajePorPantalla.MensajeError(this, "Ocurrió un error al cargar el día.");
     }
 }
示例#19
0
 private void estadísticasToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         FrmEstadisticas frm = new FrmEstadisticas();
         frm.StartPosition = FormStartPosition.CenterParent;
         frm.WindowState   = FormWindowState.Maximized;
         frm.MdiParent     = this;
         frm.Show();
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
 protected override void AccionBorrar()
 {
     try
     {
         var resultado = _domain.Borrar((Profesional)this.EntidadSeleccionada);
         if (!resultado.Correcto)
         {
             throw new ResultadoIncorrectoException <bool>(resultado);
         }
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
示例#21
0
 private void tsmPedirTurno_Click(object sender, EventArgs e)
 {
     try
     {
         FrmPedidoDeTurno frm = (Program.ContextoActual.AfiliadoDelUsuario != null) ? new FrmPedidoDeTurno(Program.ContextoActual.AfiliadoDelUsuario) : new FrmPedidoDeTurno();
         frm.StartPosition = FormStartPosition.CenterParent;
         frm.WindowState   = FormWindowState.Maximized;
         frm.MdiParent     = this;
         frm.Show();
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
示例#22
0
 private void tsmRecetar_Click(object sender, EventArgs e)
 {
     try
     {
         //FrmRecetaAlta frm = new FrmRecetaAlta();
         //frm.StartPosition = FormStartPosition.CenterParent;
         //frm.WindowState = FormWindowState.Maximized;
         //frm.MdiParent = this;
         //frm.Show();
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
示例#23
0
 private void tsmPlanes_Click(object sender, EventArgs e)
 {
     try
     {
         FrmPlanListado frm = new FrmPlanListado();
         frm.StartPosition = FormStartPosition.CenterParent;
         frm.WindowState   = FormWindowState.Maximized;
         frm.MdiParent     = this;
         frm.Show();
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
示例#24
0
 private void tsmCancelacionProfesional_Click(object sender, EventArgs e)
 {
     try
     {
         FrmCancelarProfesional frm = (Program.ContextoActual.ProfesionalDelUsuario != null) ? new FrmCancelarProfesional(Program.ContextoActual.ProfesionalDelUsuario) : new FrmCancelarProfesional();
         frm.StartPosition = FormStartPosition.CenterParent;
         frm.WindowState   = FormWindowState.Maximized;
         frm.MdiParent     = this;
         frm.Show();
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
示例#25
0
 protected override void AccionModificar()
 {
     try
     {
         Afiliado a = this.EntidadSeleccionada as Afiliado;
         using (FrmAfiliadoModificar frm = new FrmAfiliadoModificar(a))
         {
             frm.ShowDialog(this);
         }
     }
     catch (Exception ex)
     {
         MensajePorPantalla.MensajeError(this, ex.Message);
     }
 }
        private bool ValidarNroBono()
        {
            try
            {
                IResultado<BonoConsulta> resultado = _domain.ObtenerBonoConsulta(Convert.ToDecimal(this.tbBonoConsulta.Text));
                if (!resultado.Correcto)
                    throw new ResultadoIncorrectoException<BonoConsulta>(resultado);

                return true;
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
                return false;
            }
        }
示例#27
0
        private void btnConsultar_Click(object sender, EventArgs e)
        {
            Semestre          semestre = ObtenerSemestre();
            FiltroEstadistica filtro   = new FiltroEstadistica();

            filtro.Periodo = semestre;
            try
            {
                Estadistica estadisticaSeleccionada = cbVista.SelectedItem as Estadistica;
                CargarListado(filtro, estadisticaSeleccionada);
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(this, ex.Message);
            }
        }
示例#28
0
        private void btnModificacion_Click(object sender, EventArgs e)
        {
            if (this.EntidadSeleccionada == null)
            {
                MensajePorPantalla.MensajeError(this, "Debe seleccionar un registro primero");
            }
            else
            {
                DialogResult dr = MensajePorPantalla.MensajeInformativo(this, "¿Está seguro que desea modificar el registro?", MessageBoxButtons.YesNo);

                if (dr == DialogResult.Yes)
                {
                    this.AccionModificar();
                    this.Filtrar();
                }
            }
        }
        private void CargarTodosLosProfesionales()
        {
            try
            {
                IResultado <IList <Profesional> > resultado = _domain.ObtenerTodos();
                if (!resultado.Correcto)
                {
                    throw new ResultadoIncorrectoException <IList <Profesional> >(resultado);
                }

                this.dgvBusqueda.DataSource = resultado.Retorno;
            }
            catch (Exception ex)
            {
                MensajePorPantalla.MensajeError(ex.Message);
            }
        }
 private void btnConfirmarHorario_Click(object sender, EventArgs e)
 {
     if (dpFecha.Value <= _turno.HoraInicio)
     {
         MensajePorPantalla.MensajeInformativo(this, "Fecha confirmada");
         this._fecha = dpFecha.Value;
         this.gbResultado.Enabled         = true;
         this.btnAceptar.Enabled          = true;
         this.btnConfirmarHorario.Enabled = false;
         this.button1.Enabled             = false;
     }
     else
     {
         MensajePorPantalla.MensajeError(this, "No se puede atender después del turno");
         this.Close();
     }
 }