Ejemplo n.º 1
0
        private void btnAgendar_Click(object sender, EventArgs e)
        {
            string mensajeCorrecto = "Atención agendada correctamente";
            string mensajeError    = string.Empty;

            lblError_ACM.Visible = false;
            try
            {
                AccionesTerminal at             = new AccionesTerminal();
                ATENCION_AGEN    atencion       = new ATENCION_AGEN();
                PACIENTE         paciente       = new PACIENTE();
                PRESTACION       prestacion     = new PRESTACION();
                ESTADO_ATEN      estado         = new ESTADO_ATEN();
                PERS_MEDICO      personalMedico = new PERS_MEDICO();
                BLOQUE           bloque         = new BLOQUE();
                if (dtFecha_ACM.Value < DateTime.Today)
                {
                    mensajeError = "La fecha de atención ha expirado";
                }
                else
                {
                    using (var context = new CMHEntities())
                    {
                        estado         = context.ESTADO_ATEN.Where(d => d.NOM_ESTADO_ATEN.ToUpper() == "VIGENTE").FirstOrDefault();
                        personalMedico = context.PERS_MEDICO.Find((int)cmbPersonal_ACM.SelectedValue);
                    }
                    if (txtRut_ACM.Text == string.Empty || txtDv_ACM.Text == string.Empty)
                    {
                        mensajeError = "Complete los campos de RUT";
                    }
                    else
                    {
                        paciente = at.buscarPaciente(int.Parse(txtRut_ACM.Text), txtDv_ACM.Text.ToUpper());
                        if (!Util.isObjetoNulo(paciente))
                        {
                            atencion.FECHOR           = dtFecha_ACM.Value;
                            atencion.ID_PACIENTE      = paciente.ID_PACIENTE;
                            atencion.ID_PRESTACION    = (int)cmbPrestacion_ACM.SelectedValue;
                            atencion.ID_ESTADO_ATEN   = estado.ID_ESTADO_ATEN;
                            atencion.ID_PERS_ATIENDE  = (int)cmbPersonal_ACM.SelectedValue;
                            atencion.ID_BLOQUE        = ((ComboboxItem)cmbHora_ACM.SelectedItem).Value;
                            atencion.OBSERVACIONES    = rtObservacion.Text;
                            atencion.ID_PERS_SOLICITA = FrmLogin.usuarioLogeado.Personal.ID_PERSONAL;
                            if (!at.agendarAtencion(atencion))
                            {
                                mensajeError = "Error al agendar atención";
                            }
                            actualizarBloques();
                        }
                        else
                        {
                            mensajeError = "Paciente no encontrado";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                mensajeError = "Error al agendar atención";
            }
            if (mensajeError == string.Empty)
            {
                MessageBox.Show(mensajeCorrecto, "Creada", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                MessageBox.Show(mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }