public bool guardar(Visita visita)
        {
            ConexionBD.getSession().Save(visita);
            ConexionBD.getSession().Flush();

            return existe(visita);
        }
 public ImprimirIndicaciones(Visita v,int idmed)
 {
     visita = new Visita();
     visita = v;
     if (idmed != 0)
     {
         idmedicamento = idmed;
     }
     InitializeComponent();
 }
 public ImprimirReceta(Visita v,int idmed)
 {
     visita = new Visita();
     if (idmed != 0)
     {
         medicacion = new Medicacion();
         medicacion.Id = idmed;
     }
     InitializeComponent();
     visita = v;
 }
        public ABMVisita(Turno turn, Visita v,Profesional profe)
        {
            InitializeComponent();
            CargarCuestionarios();
            turno = turn;
            profesional = profe;
            paciente = new Paciente();
            paciente = turn.Paciente;

            gbPaciente.Enabled = false;
            Utils.cargarCombo<TipoDocumento>(cmbTipoDoc, "Descripcion");
            CargarDatos();
        }
        private bool existe(Visita v)
        {
            if (ConexionBD.getSession().CreateCriteria(typeof(Visita)).Add(Expression.Eq("Id", v.Id)).List<Visita>().Count > 0)
            {

            return true;
            }

            else
            {
            return false;
            }
        }
        public Visita buscar(int id)
        {
            Visita visita = null;

               if (ConexionBD.getSession().CreateCriteria(typeof(Visita)).Add(Expression.Eq("Id", id)).List<Visita>().Count > 0)
               {
               visita = new Visita();
               visita = ConexionBD.getSession().CreateCriteria(typeof(Visita)).Add(Expression.Eq("Id", id)).List<Visita>().ElementAt<Visita>(0);

               }

               return visita;
        }
 public void EstadoInicial()
 {
     txtPaciente.Text = "";
     txtDoc.Text = "";
     txtAgenda.Text = "";
     txtEspecialidad.Text = "";
     btnBuscarVisita.Enabled = false;
     txtPlan.Text = "";
     dgDetalleAutorizacion.Rows.Clear();
     paciente = null;
     visita = null;
     autorizacion = null;
     listaDetalle = new List<AutorizacionDetalle>();
     gestorAutorizacion = new GestorAutorizacion();
     autorizacion = new Autorizacion();
     dpFechaVisita.Value = DateTime.Today;
     linkOs.Text = "";
 }
        public ABMVisita(Paciente paciente, Visita v)
        {
            InitializeComponent();
            CargarCuestionarios();
            this.paciente = paciente;
            if (v != null)
            {
                visita = new Visita();
                this.visita = v;
                gbCaracteristicas.Enabled = false;
                gbMedicacion.Enabled = false;
                gbVisita.Enabled = false;
            }

            gbPaciente.Enabled = false;
            Utils.cargarCombo<TipoDocumento>(cmbTipoDoc, "Descripcion");
            CargarDatos();
            cargarRespuestasCuestionarios();
            //tener en cuenta el origen para bloqueo de componentes y datos mostrados
        }
        private void btnGuardar_Click_1(object sender, EventArgs e)
        {
            Configuracion config = new Configuracion();
            GestorConfiguracion gestorConfig = new GestorConfiguracion();

            bool esVisitaNueva = false;
            if (visita == null)
            {
                visita = new Visita();
                esVisitaNueva = true;
            }
            if (!esVisitaNueva)
            {
                paciente.HistoriaClinica.Visitas.Remove(visita);
            }

            visita.Fecha = DateTime.Now;
            visita.Sintomas = txtSintomas.Text;
            visita.Motivo = txtMotivo.Text;
            visita.Observaciones = txtObservaciones.Text;
            visita.Pronostico = txtPronostico.Text;
            visita.Pulso = double.Parse(txtPulso.Text);
            visita.Temperatura = double.Parse(txtTemperatura.Text);
            visita.Tension = txtTension.Text;
            visita.Peso = double.Parse(txtPeso.Text);
            visita.Hora = DateTime.Now;
            visita.Diagnosticos = diagnosticos;
            visita.Medicaciones = medicaciones;
            config = gestorConfig.buscar("SUCURSAL");
            visita.Sucursal = ConexionBD.getSession().Get<Sucursal>(int.Parse(config.Valor));
            visita.Profesional = profesional;
            turno.EstadoTurno = ConexionBD.getSession().Get<EstadoTurno>(4);
            visita.Turno = turno;
            visita.Tratamiento = "";

            for (int i = 0; i < dgvMedicaciones.Rows.Count; i++)
            {
                Medicacion medicacion=medicaciones.ElementAt<Medicacion>(i);
                medicacion.Desde = DateTime.Parse(dgvMedicaciones.Rows[i].Cells["desde"].Value.ToString());
                medicacion.Hasta= DateTime.Parse(dgvMedicaciones.Rows[i].Cells["hasta"].Value.ToString());
                medicacion.Prescripcion = DateTime.Today;
                medicacion.Dosis = dgvMedicaciones.Rows[i].Cells["dosis"].Value.ToString();
                medicaciones[i] = medicacion;

            }
                guardarCuestionarios();

            if (!paciente.tieneHistoriaClinica())
            {
                paciente.crearHistoriaClinica();
            }
            paciente.HistoriaClinica.Visitas.Add(visita);

            Antecedente antecedente = new Antecedente();
            antecedente.HistoriaClinica = paciente.HistoriaClinica;
            antecedente.Registro = DateTime.Now;
            antecedente.Respuestas = listaRespuestas;
            paciente.Antecedente = antecedente;

            if (gv.guardarPaciente(paciente))
            {
                resultado1.cambiarColor(true);
                DialogResult res = MessageBox.Show("¿Desea imprimir la receta?", "Imprimir receta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (res == DialogResult.Yes)
                {
                    ImprimirReceta receta = new ImprimirReceta(visita, medicaciones[0].Id);
                    receta.Show();
                }
                LimpiarCampos();
            }
            else
            {
                resultado1.cambiarColor(false);
            }
        }
 private void dgVisitas_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (dgVisitas.SelectedRows.Count > 0)
     {
         visita = new Visita();
         visita = visitas.ElementAt<Visita>(dgVisitas.CurrentRow.Index);
         if (origen == "cobro")
         {
             Close();
         }
         abmvisita = new ABMVisita(paciente, visita);
         abmvisita.ShowDialog();
     }
 }
 private void dgVisitas_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (visitas.Count > 0)
     {
         if (origen == "cobro")
         {
             visita = new Visita();
             visita = visitas.ElementAt<Visita>(dgVisitas.CurrentRow.Index);
             Close();
         }
     }
 }
        private void cargarGrillaVisitas()
        {
            dgVisitas.Rows.Clear();

            for (int i = 0; i < visitas.Count; i++)
            {
                visita = new Visita();
                visita =  visitas.ElementAt<Visita>(i);

                dgVisitas.Rows.Add(visita.Fecha.ToShortDateString(), visita.Motivo, visita.Sintomas, visita.Tratamiento,  visita.Profesional.Apellidos + ", " + visita.Profesional.Nombres);
                medicaciones = new List<Medicacion>();
                medicaciones = visita.Medicaciones ;
                CargarGrillaMedicacion();
            }

            txtVisitas.Text = (dgVisitas.RowCount-1).ToString();
        }
 private void btnVer_Click(object sender, EventArgs e)
 {
     if (visitas.Count > 0)
     {
         visita = new Visita();
         visita = visitas.ElementAt<Visita>(dgVisitas.CurrentRow.Index);
         abmvisita = new ABMVisita(paciente, visita);
         abmvisita.ShowDialog();
     }
 }
 private void btnSalir_Click(object sender, EventArgs e)
 {
     visita = null;
     Dispose();
     if (origen != "cobro")
     {
         ventanaPrincipal.cerrarPestaña(this.Name);
     }
 }
        private void btnImprimirRp_Click(object sender, EventArgs e)
        {
            if (dgMedicacion.SelectedRows.Count > 0)
            {
                visita = new Visita();
                //gestorVisita = new GestorVisita();
                for (int i = 0; i < visitas.Count; i++)
                {
                    if (visitas.ElementAt<Visita>(i).Id == (int.Parse(dgMedicacion.SelectedRows[0].Cells["idvisita"].Value.ToString())))
                    {
                        visita = visitas.ElementAt<Visita>(i);
                        ImprimirReceta receta = new ImprimirReceta(visita, int.Parse(dgMedicacion.SelectedRows[0].Cells["idmedicacion"].Value.ToString()));
                        receta.Show();
                    }//gestorVisita.buscar(int.Parse(dgMedicacion.SelectedRows[0].Cells["idvisita"].Value.ToString()));
                }

            }
        }