/// <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; }//*/ }
/// <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(); }//*/ }
// /////////////////////////////////////////////////////////////////////////////// #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; * }//*/ }
/// <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(); * }//*/ }