예제 #1
0
        /// <summary>
        /// Recupera los "Pacientes" de la Base de Datos (y llena el control)
        /// </summary>
        private void CargarPacientes()
        {
            string ObrasSocialesTexto;
            //Instancio la clase Paciente de la capa de Negocios
            Business.Logic.Paciente oPacienteNegocio = new Business.Logic.Paciente();

            //try
            //{
            //Recupero todos los Pacientes y los almaceno en el objeto Paciente
            oPacientes = oPacienteNegocio.Listar();

            // No actualizamos el control hasta que finalice la operación (carga mas rapido)
            lstPacientes.BeginUpdate();

            // Eliminamos los datos de la lista
            lstPacientes.Items.Clear();

            if (oPacientes != null && oPacientes.Count > 0)
            {
                //Agrego los datos de cada paciente a la lista de Pacientes
                foreach (Business.Entities.Paciente oPacienteTmp in oPacientes)
                {
                    ObrasSocialesTexto = "";
                    ListViewItem oItem;
                    oItem = lstPacientes.Items.Add(oPacienteTmp.Id.ToString());
                    oItem.SubItems.Add(oPacienteTmp.TipoDoc.ToString() + ": " + oPacienteTmp.NumeroDoc.ToString());
                    oItem.SubItems.Add(oPacienteTmp.Apellido);
                    oItem.SubItems.Add(oPacienteTmp.Nombre);
                    //recupero las obras sociales del paciente
                    if (oPacienteTmp.Afiliados != null && oPacienteTmp.Afiliados.Count > 0)
                    {

                        foreach (Business.Entities.Afiliado oAfiliado in oPacienteTmp.Afiliados)
                        {
                            ObrasSocialesTexto += oAfiliado.ObraSocial.Nombre + " / ";
                        }
                        //elimina el ultimo "/" de la lista de obras sociales
                        oItem.SubItems.Add(ObrasSocialesTexto.Substring(0, ObrasSocialesTexto.Length - 3));
                    }
                    else oItem.SubItems.Add("(no posee)");

                    oItem.SubItems.Add(oPacienteTmp.Telefono.ToString() + (Utilidades.Herramientas.esVacio(oPacienteTmp.Celular.ToString()) ? "" : oPacienteTmp.Celular.ToString()));
                    //oItem.SubItems.Add(oPaciente.Celular);

                    oItem.SubItems.Add(oPacienteTmp.Domicilio);
                    //oItem.SubItems.Add(oPaciente.Email);
                }
            }
            else lstPacientes.Items.Clear();

            // Le indico a listview que puede renderizar el control
            lstPacientes.EndUpdate();

            /*}
            catch (Exception ex)
            {
                // Si hay errores, mostrar:
                MessageBox.Show(ex.Message, this.Text + ": Error al Cargar Pacientes", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                // Libero memoria de objetos
                oPacientes = null;
            }//*/
        }
예제 #2
0
        /// <summary>
        /// Obtiene la información de todos los Pacientes
        /// </summary>
        /// <param name="Id"></param>
        /// <returns>Coleccion de Pacientes</returns>
        public Business.Entities.Pacientes Listar()
        {
            //Instanciamos la conexión
            MySqlConnection oConexion = Data.Database.Adapter.NuevaConexion();
            DataSet result = new DataSet();
            //try
            //{
                using (oConexion)
                {
                    //abrimos conexion
                    oConexion.Open();

                    //Instanciamos el oComando
                    MySqlCommand oComando = oConexion.CreateCommand();
                    using (oComando)
                    {
                        //asignamos la conexion
                        oComando.Connection = oConexion;

                        //utilizamos stored procedures
                        oComando.CommandType = CommandType.StoredProcedure;

                        //establecemos el nombre del stored procedure
                        oComando.CommandText = "paciente_listar";

                        //asignamos parámetros
                        //oComando.Parameters.AddWithValue("@_id_paciente", Id);

                        //Instanciamos la coleccion de Pacientes
                        Business.Entities.Pacientes oPacientes = new Business.Entities.Pacientes();

                        //Instanciamos el Objeto Afiliado de la capa de datos para agregar los Afiliados al Paciente
                        Data.Database.Afiliado oAfiliadoData = new Data.Database.Afiliado();

                        //Ejecutamos el oComando y retornamos los valores
                        MySqlDataReader oLector = oComando.ExecuteReader();
                        using (oLector)
                        {
                            //si existe algun valor, creamos el objeto y lo almacenamos en la colección
                            while (oLector.Read())
                            {
                                //Instanciamos al Paciente y la coleccion de Afiliados
                                Business.Entities.Paciente oPaciente = new Business.Entities.Paciente();
                                //Business.Entities.Afiliados oAfiliados = new Business.Entities.Afiliados();

                                oPaciente.Id = Convert.ToInt32(oLector["id_paciente"]);
                                oPaciente.Nombre = Convert.ToString(oLector["nombre"]);
                                oPaciente.Apellido = Convert.ToString(oLector["apellido"]);
                                oPaciente.TipoDoc = (Business.Entities.Paciente.TiposDoc) Convert.ToInt32(oLector["tipo_doc"]);
                                oPaciente.NumeroDoc = Convert.ToInt32(oLector["numero_doc"]);
                                if (oLector["fecha_nac"] is DBNull)
                                    oPaciente.FechaNac = null;
                                else
                                    oPaciente.FechaNac = Convert.ToDateTime(oLector["fecha_nac"]);
                                oPaciente.GrupoSanguineo = (Business.Entities.Paciente.GruposSanguineos) Convert.ToInt32(oLector["grupo_sanguineo"]);
                                oPaciente.Factor = (Business.Entities.Paciente.FactoresSanguineos) Convert.ToInt32(oLector["factor_sanguineo"]);
                                oPaciente.Domicilio = Convert.ToString(oLector["domicilio"]);
                                oPaciente.Telefono = Convert.ToString(oLector["telefono"]);
                                oPaciente.Celular = Convert.ToString(oLector["celular"]);
                                oPaciente.Email = Convert.ToString(oLector["email"]);
                                oPaciente.Problemas = Convert.ToString(oLector["problemas"]);
                                oPaciente.Notas = Convert.ToString(oLector["notas"]);

                                //recupero y asigno la colección de Afiliados de cada Pacientes
                                oPaciente.Afiliados = oAfiliadoData.Listar((int)oPaciente.Id);

                                /* MySqlDataReader LectorAnidado = oLector.GetDataReader(1);
                                while (oLector.NextResult())
                                {
                                    //Inicializo obra social y el afiliado

                                    Business.Entities.Afiliado oAfiliado = new Business.Entities.Afiliado();

                                    oAfiliado.Id = Convert.ToInt32(oLector["nro_afiliado"]); //afiliado.nro_afiliado
                                    oAfiliado.Estado = (Business.Entities.Afiliado.Estados) oLector["estado"]; //afiliado.estado

                                    //buscamos y agregamos la obra social al objeto oAfiliado
                                    oAfiliado.ObraSocial = oObrasSociales.Find(
                                    delegate(Business.Entities.ObraSocial oObraSocial)
                                    {
                                        return oObraSocial.Id == Convert.ToInt32(oLector["id_obrasocial"]); //obrasocial.id_obrasocial
                                    }
                                    );
                                    //Agregamos el objeto Afiliado a la coleccion de Afiliados del Paciente
                                    oPaciente.Afiliados.Add(oAfiliado);
                                    //oAfiliados.Add(oAfiliado);
                                    oAfiliado = null;

                                    //Agregamos el objeto a la coleccion
                                    oPacientes.Add(oPaciente);
                                    oPaciente = null;
                                }//*/

                                //Agregamos el objeto a la coleccion
                                oPacientes.Add(oPaciente);
                                oPaciente = null;

                            }
                        }
                        //retornamos la coleccion
                        return oPacientes;
                    }
                }
            /*}
            catch (MySqlException exc)
            {
                Utilidades.Log.Registrar("Error de MySQL", exc.Message); //capturamos el error de MySQL
                return null;
            }
            catch (Exception e)
            {
                Utilidades.Log.Registrar("Error General", e.Message); //capturamos cualquier error (distinto al anterior).
                return null;
            }
            finally
            {
                oConexion.Close();
            }//*/
        }
예제 #3
0
        // ///////////////////////////////////////////////////////////////////////////////
        #region Metodos asociados a la Carga de Datos

        /// <summary>
        /// Recupera los "Pacientes" de la Base de Datos (y llena el control)
        /// </summary>
        private void CargarPacientes()
        {
            string ObrasSocialesTexto;

            //Instancio la clase Paciente de la capa de Negocios
            Business.Logic.Paciente oPacienteNegocio = new Business.Logic.Paciente();

            //try
            //{
            //Recupero todos los Pacientes y los almaceno en el objeto Paciente
            oPacientes = oPacienteNegocio.Listar();

            // No actualizamos el control hasta que finalice la operación (carga mas rapido)
            lstPacientes.BeginUpdate();

            // Eliminamos los datos de la lista
            lstPacientes.Items.Clear();

            if (oPacientes != null && oPacientes.Count > 0)
            {
                //Agrego los datos de cada paciente a la lista de Pacientes
                foreach (Business.Entities.Paciente oPacienteTmp in oPacientes)
                {
                    ObrasSocialesTexto = "";
                    ListViewItem oItem;
                    oItem = lstPacientes.Items.Add(oPacienteTmp.Id.ToString());
                    oItem.SubItems.Add(oPacienteTmp.TipoDoc.ToString() + ": " + oPacienteTmp.NumeroDoc.ToString());
                    oItem.SubItems.Add(oPacienteTmp.Apellido);
                    oItem.SubItems.Add(oPacienteTmp.Nombre);
                    //recupero las obras sociales del paciente
                    if (oPacienteTmp.Afiliados != null && oPacienteTmp.Afiliados.Count > 0)
                    {
                        foreach (Business.Entities.Afiliado oAfiliado in oPacienteTmp.Afiliados)
                        {
                            ObrasSocialesTexto += oAfiliado.ObraSocial.Nombre + " / ";
                        }
                        //elimina el ultimo "/" de la lista de obras sociales
                        oItem.SubItems.Add(ObrasSocialesTexto.Substring(0, ObrasSocialesTexto.Length - 3));
                    }
                    else
                    {
                        oItem.SubItems.Add("(no posee)");
                    }

                    oItem.SubItems.Add(oPacienteTmp.Telefono.ToString() + (Utilidades.Herramientas.esVacio(oPacienteTmp.Celular.ToString()) ? "" : oPacienteTmp.Celular.ToString()));
                    //oItem.SubItems.Add(oPaciente.Celular);

                    oItem.SubItems.Add(oPacienteTmp.Domicilio);
                    //oItem.SubItems.Add(oPaciente.Email);
                }
            }
            else
            {
                lstPacientes.Items.Clear();
            }

            // Le indico a listview que puede renderizar el control
            lstPacientes.EndUpdate();

            /*}
             * catch (Exception ex)
             * {
             *  // Si hay errores, mostrar:
             *  MessageBox.Show(ex.Message, this.Text + ": Error al Cargar Pacientes", MessageBoxButtons.OK, MessageBoxIcon.Error);
             * }
             * finally
             * {
             *  // Libero memoria de objetos
             *  oPacientes = null;
             * }//*/
        }
예제 #4
0
        /// <summary>
        /// Obtiene la información de todos los Pacientes
        /// </summary>
        /// <param name="Id"></param>
        /// <returns>Coleccion de Pacientes</returns>
        public Business.Entities.Pacientes Listar()
        {
            //Instanciamos la conexión
            MySqlConnection oConexion = Data.Database.Adapter.NuevaConexion();
            DataSet         result    = new DataSet();

            //try
            //{
            using (oConexion)
            {
                //abrimos conexion
                oConexion.Open();

                //Instanciamos el oComando
                MySqlCommand oComando = oConexion.CreateCommand();
                using (oComando)
                {
                    //asignamos la conexion
                    oComando.Connection = oConexion;

                    //utilizamos stored procedures
                    oComando.CommandType = CommandType.StoredProcedure;

                    //establecemos el nombre del stored procedure
                    oComando.CommandText = "paciente_listar";

                    //asignamos parámetros
                    //oComando.Parameters.AddWithValue("@_id_paciente", Id);

                    //Instanciamos la coleccion de Pacientes
                    Business.Entities.Pacientes oPacientes = new Business.Entities.Pacientes();

                    //Instanciamos el Objeto Afiliado de la capa de datos para agregar los Afiliados al Paciente
                    Data.Database.Afiliado oAfiliadoData = new Data.Database.Afiliado();

                    //Ejecutamos el oComando y retornamos los valores
                    MySqlDataReader oLector = oComando.ExecuteReader();
                    using (oLector)
                    {
                        //si existe algun valor, creamos el objeto y lo almacenamos en la colección
                        while (oLector.Read())
                        {
                            //Instanciamos al Paciente y la coleccion de Afiliados
                            Business.Entities.Paciente oPaciente = new Business.Entities.Paciente();
                            //Business.Entities.Afiliados oAfiliados = new Business.Entities.Afiliados();

                            oPaciente.Id        = Convert.ToInt32(oLector["id_paciente"]);
                            oPaciente.Nombre    = Convert.ToString(oLector["nombre"]);
                            oPaciente.Apellido  = Convert.ToString(oLector["apellido"]);
                            oPaciente.TipoDoc   = (Business.Entities.Paciente.TiposDoc)Convert.ToInt32(oLector["tipo_doc"]);
                            oPaciente.NumeroDoc = Convert.ToInt32(oLector["numero_doc"]);
                            if (oLector["fecha_nac"] is DBNull)
                            {
                                oPaciente.FechaNac = null;
                            }
                            else
                            {
                                oPaciente.FechaNac = Convert.ToDateTime(oLector["fecha_nac"]);
                            }
                            oPaciente.GrupoSanguineo = (Business.Entities.Paciente.GruposSanguineos)Convert.ToInt32(oLector["grupo_sanguineo"]);
                            oPaciente.Factor         = (Business.Entities.Paciente.FactoresSanguineos)Convert.ToInt32(oLector["factor_sanguineo"]);
                            oPaciente.Domicilio      = Convert.ToString(oLector["domicilio"]);
                            oPaciente.Telefono       = Convert.ToString(oLector["telefono"]);
                            oPaciente.Celular        = Convert.ToString(oLector["celular"]);
                            oPaciente.Email          = Convert.ToString(oLector["email"]);
                            oPaciente.Problemas      = Convert.ToString(oLector["problemas"]);
                            oPaciente.Notas          = Convert.ToString(oLector["notas"]);

                            //recupero y asigno la colección de Afiliados de cada Pacientes
                            oPaciente.Afiliados = oAfiliadoData.Listar((int)oPaciente.Id);


                            /* MySqlDataReader LectorAnidado = oLector.GetDataReader(1);
                             * while (oLector.NextResult())
                             * {
                             *  //Inicializo obra social y el afiliado
                             *
                             *  Business.Entities.Afiliado oAfiliado = new Business.Entities.Afiliado();
                             *
                             *  oAfiliado.Id = Convert.ToInt32(oLector["nro_afiliado"]); //afiliado.nro_afiliado
                             *  oAfiliado.Estado = (Business.Entities.Afiliado.Estados) oLector["estado"]; //afiliado.estado
                             *
                             *  //buscamos y agregamos la obra social al objeto oAfiliado
                             *  oAfiliado.ObraSocial = oObrasSociales.Find(
                             *  delegate(Business.Entities.ObraSocial oObraSocial)
                             *  {
                             *      return oObraSocial.Id == Convert.ToInt32(oLector["id_obrasocial"]); //obrasocial.id_obrasocial
                             *  }
                             *  );
                             *  //Agregamos el objeto Afiliado a la coleccion de Afiliados del Paciente
                             *  oPaciente.Afiliados.Add(oAfiliado);
                             *  //oAfiliados.Add(oAfiliado);
                             *  oAfiliado = null;
                             *
                             *  //Agregamos el objeto a la coleccion
                             *  oPacientes.Add(oPaciente);
                             *  oPaciente = null;
                             * }//*/

                            //Agregamos el objeto a la coleccion
                            oPacientes.Add(oPaciente);
                            oPaciente = null;
                        }
                    }
                    //retornamos la coleccion
                    return(oPacientes);
                }
            }

            /*}
             * catch (MySqlException exc)
             * {
             *  Utilidades.Log.Registrar("Error de MySQL", exc.Message); //capturamos el error de MySQL
             *  return null;
             * }
             * catch (Exception e)
             * {
             *  Utilidades.Log.Registrar("Error General", e.Message); //capturamos cualquier error (distinto al anterior).
             *  return null;
             * }
             * finally
             * {
             *  oConexion.Close();
             * }//*/
        }