internal List <Especialidad> obtenerEspecialidadesMedico(Medico medico)
        {
            ProfesionalManager  profesionalManager        = new ProfesionalManager();
            List <Especialidad> especialidadesEncontradas = profesionalManager.buscarEspecialidadesMedico(medico);

            return(especialidadesEncontradas);
        }
Beispiel #2
0
        internal void llenarComboEspecialidades()
        {
            ProfesionalManager profesionalManager = new ProfesionalManager();

            this.medico = profesionalManager.buscarPorUsuarioId(UsuarioConfiguracion.getInstance().getUsuarioId());

            if (this.medico != null)
            {
                List <Especialidad> especialidadesDelMedico = profesionalManager.buscarEspecialidadesMedico(this.medico);

                if (especialidadesDelMedico != null)
                {
                    this.form.llenarComboEspecialidades(especialidadesDelMedico);
                }
                else
                {
                    this.form.showErrorMessage("Ocurrio un error al obtener las Especialidades del Medico");
                    this.form.Close();
                }
            }
            else
            {
                this.form.showErrorMessage("Usted no es un medico y no puede registrar un resultado de atencion.");
                this.form.Close();
            }
        }
        internal void buscarProfesionalesConFiltros(string queryNombre, string queryApellido, Especialidad especialidadSeleccionada)
        {
            ProfesionalManager profesionalManager = new ProfesionalManager();
            Dictionary <Medico, Especialidad> medicosFiltrados = profesionalManager.buscarMedicosConSuEspecialidad(queryNombre, queryApellido, especialidadSeleccionada.codigo);

            if (medicosFiltrados != null)
            {
                this.form.llenarListadoProfesionalesConEspecialidad(medicosFiltrados);
            }
            else
            {
                this.form.showErrorMessage("Ocurrio un error al buscar los Profesionales.");
            }
        }
        internal void llenarListadoProfesionales()
        {
            ProfesionalManager profesionalManager = new ProfesionalManager();
            List <Medico>      medicos            = profesionalManager.findAll();

            if (medicos != null)
            {
                this.form.llenarListadoProfesionales(medicos);
            }
            else
            {
                this.form.showErrorMessage("Ocurrio un error al obtener los Profesionales.");
            }
        }
        internal void buscarProfesionalesConFiltros(string queryNombre, string queryApellido, string tipoDocSeleccionado, string queryDocumento, string queryMatricula, Especialidad especialidadSeleccionada)
        {
            decimal documento = queryDocumento.Length > 0 ? decimal.Parse(queryDocumento) : 0;
            decimal matricula = queryMatricula.Length > 0 ? decimal.Parse(queryMatricula) : 0;

            tipoDocSeleccionado = tipoDocSeleccionado.Equals("Seleccionar Tipo de Documento") ||
                                  tipoDocSeleccionado.Equals("Todos")  ? "" : tipoDocSeleccionado;

            ProfesionalManager profesionalManager = new ProfesionalManager();
            List <Medico>      medicosFiltrados   = profesionalManager.buscarMedicosPorFiltro(queryNombre, queryApellido, tipoDocSeleccionado, documento, matricula, especialidadSeleccionada.codigo);

            if (medicosFiltrados != null)
            {
                this.form.llenarListadoProfesionales(medicosFiltrados);
            }
            else
            {
                this.form.showErrorMessage("Ocurrio un error al buscar los Profesionales.");
            }
        }
        internal void registraAgenda(Medico medicoSeleccionado, Especialidad especialidadSeleccionada, Dictionary <System.Windows.Forms.NumericUpDown, System.Windows.Forms.NumericUpDown> horasDesde, Dictionary <System.Windows.Forms.NumericUpDown, System.Windows.Forms.NumericUpDown> horasHasta, String fechaDesde, String fechaHasta)
        {
            this.obtenerDiasSeleccionados(horasDesde);
            ProfesionalManager pm = new ProfesionalManager();

            Dictionary <KeyValuePair <NumericUpDown, NumericUpDown>, KeyValuePair <NumericUpDown, NumericUpDown> > rangoAtencion = this.obtenerRangoAtencion(horasDesde, horasHasta);

            Decimal horasTrabajadas = pm.getHorasTrabajadas(medicoSeleccionado, fechaDesde, fechaHasta);
            Decimal horasAInsertar  = 0;

            foreach (KeyValuePair <KeyValuePair <NumericUpDown, NumericUpDown>, KeyValuePair <NumericUpDown, NumericUpDown> > rango in rangoAtencion)
            {
                Decimal hd   = ((rango.Key.Key.Value) * 60);
                Decimal md   = (rango.Key.Value.Value);
                Decimal hdmd = hd + md;

                Decimal hh   = ((rango.Value.Key.Value) * 60);
                Decimal mh   = (rango.Value.Value.Value);
                Decimal hhmh = hh + mh;

                horasAInsertar += (Decimal.Divide((hhmh - hdmd), 60));
            }

            Decimal horasTotales = horasTrabajadas + horasAInsertar;

            if (horasTotales <= 48)
            {
                foreach (KeyValuePair <KeyValuePair <NumericUpDown, NumericUpDown>, KeyValuePair <NumericUpDown, NumericUpDown> > rango in rangoAtencion)
                {
                    pm.registrarRangoAtencion(medicoSeleccionado, especialidadSeleccionada, rango.Key, rango.Value, fechaDesde, fechaHasta);
                }
            }
            else
            {
                Exception ex = new Exception("Las horas trabajadas no pueden superar las 48 hs semanales");
                throw ex;
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            long telefono;
            long dni;

            Session.Errores = null;
            if (!long.TryParse(txtTelefono.Text.Trim().Replace("-", ""), out telefono))
            {
                throw new Exception(" El teléfono debe ser numérico!");
            }
            if (!long.TryParse(txtDNI.Text, out dni))
            {
                throw new Exception(" El DNI debe ser numérico!");
            }
            if (string.IsNullOrEmpty(txtNombre.Text.Trim()))
            {
                throw new Exception(" El Nombre es obligatorio!");
            }
            if (string.IsNullOrEmpty(txtApellido.Text.Trim()))
            {
                throw new Exception(" El Apellido es obligatorio!");
            }
            if (string.IsNullOrEmpty(txtMail.Text.Trim()))
            {
                throw new Exception(" El Email es obligatorio!");
            }
            user.DetallesPersona.Apellido        = txtApellido.Text.Trim();
            user.DetallesPersona.Nombre          = txtNombre.Text.Trim();
            user.DetallesPersona.DNI             = dni;
            user.DetallesPersona.FechaNacimiento = dtFechaNacimiento.Value;
            user.DetallesPersona.Direccion       = txtDireccion.Text.Trim();
            user.DetallesPersona.Telefono        = telefono;
            user.DetallesPersona.Email           = txtMail.Text.Trim();
            Rol rolSeleccionado = (Rol)cbxRoles.SelectedItem;

            if (Session.Errores != null)
            {
                MessageBox.Show(Session.Errores);
            }
            else
            {
                if (perfil.Nombre == "Afiliado")
                {
                    _afiliado          = ((AfiliadoUserControl)afiliadoUserControl).devolverCampos();
                    _afiliado.UserName = user.DetallesPersona.DNI.ToString();
                    var manager = new AfiliadoManager();
                    _afiliado.DetallesPersona = user.DetallesPersona;
                    _afiliado.RoleID          = rolSeleccionado.ID;
                    try
                    {
                        manager.GuardarAfiliado(_afiliado);
                        user = _afiliado;
                        this.Close();
                    }
                    catch (System.Exception excep)
                    {
                        MessageBox.Show(excep.Message);
                    }
                }
                else if (perfil.Nombre == "Profesional")
                {
                    _profesional = ((ProfesionalUserControl)profesionalUserControl).GetProfesional();
                    _profesional.DetallesPersona = user.DetallesPersona;
                    _profesional.UserName        = user.DetallesPersona.DNI.ToString();
                    var manager = new ProfesionalManager();
                    _profesional.RoleID = rolSeleccionado.ID;

                    try
                    {
                        manager.GuardarProfesional(_profesional);
                        user = _profesional;
                        this.Close();
                    }
                    catch (System.Exception excep)
                    {
                        MessageBox.Show(excep.Message);
                    }
                }
                else
                {
                    throw new Exception("Error en Perfiles");
                }
            }
            // OnUserSaved(this, new UserSavedEventArgs() { Username = this.txtUsername.Text, User = user });
        }