public List <GrupoConsulta> GetListByFilter(GrupoFilter oGrupoFilter) { // Busco los grupos using (GrupoDataAccess oGrupoDataAccess = new GrupoDataAccess()) { List <GrupoConsulta> oGrupos = null; DataSet ds = oGrupoDataAccess.GetListByFilter(oGrupoFilter); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { oGrupos = GrupoConsulta.GetFromDS(ds); // Busco las personas de cada grupo foreach (GrupoConsulta oGrupoConsulta in oGrupos) { using (GrupoPersonaBusiness oGrupoPersonaBusiness = new GrupoPersonaBusiness()) { List <GrupoPersona> oGrupoPersona = oGrupoPersonaBusiness.GetListByFilter(new GrupoPersona() { IdGrupo = oGrupoConsulta.IdGrupo }); if (oGrupoPersona != null) { oGrupoConsulta.Personas = oGrupoPersona.Select(x => (int)x.IdPersona).ToList <int>(); } } } return(oGrupos); } } return(null); }
/// <summary> /// Obtiene grupos a través de un filtro /// </summary> /// <param name="oGrupoFilter"></param> /// <returns></returns> public DataSet GetListByFilter(GrupoFilter oGrupoFilter) { // Creo la conexión y la transacción SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["CONEXION"].ConnectionString); oConn.Open(); SqlTransaction oTran = oConn.BeginTransaction(); DataSet ds = new DataSet(); try { using (SqlDataAdapter adapter = new SqlDataAdapter()) { using (SqlCommand oComm = new SqlCommand()) { oComm.Connection = (oTran != null) ? oTran.Connection : oConn; oComm.Transaction = oTran; oComm.CommandType = CommandType.StoredProcedure; oComm.CommandText = ObjectName + "_GetListByFilter"; oComm.Parameters.Add(new SqlParameter("@IdCompania", SqlDbType.Int, 0, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oGrupoFilter.IdCompania)); oComm.Parameters.Add(new SqlParameter("@Nombre", SqlDbType.NVarChar, 100, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oGrupoFilter.Nombre)); oComm.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.NVarChar, 500, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oGrupoFilter.Descripcion)); oComm.Parameters.Add(new SqlParameter("@IdPersona", SqlDbType.Int, 0, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oGrupoFilter.IdPersona)); oComm.Parameters.Add(new SqlParameter("@FechaAltaFrom", SqlDbType.DateTime, 0, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oGrupoFilter.FechaAltaFrom)); oComm.Parameters.Add(new SqlParameter("@FechaAltaTo", SqlDbType.DateTime, 0, ParameterDirection.Input, true, 0, 0, null, DataRowVersion.Original, oGrupoFilter.FechaAltaTo)); adapter.SelectCommand = oComm; adapter.Fill(ds); } } } catch (Exception e) { oTran.Rollback(); throw e; } finally { oConn.Close(); oTran.Dispose(); } return(ds); }
public List <GrupoConsulta> GetListByFilter(int idCompania, string nombre, string descripcion, string idPersona, string fechaAltaFrom, string fechaAltaTo) { try { int? idPersonaInt = null; DateTime?fechaAltaFromDate = null; DateTime?fechaAltaToDate = null; // Pregunto sobre los valores para no cargar null if (!string.IsNullOrEmpty(idPersona)) { idPersonaInt = Int32.Parse(idPersona); } if (!string.IsNullOrEmpty(fechaAltaFrom)) { fechaAltaFromDate = DateTime.Parse(fechaAltaFrom); } if (!string.IsNullOrEmpty(fechaAltaTo)) { fechaAltaToDate = DateTime.Parse(fechaAltaTo); } GrupoFilter oGrupoFilter = new GrupoFilter() { Nombre = nombre, Descripcion = descripcion, IdPersona = idPersonaInt, IdCompania = idCompania, FechaAltaFrom = fechaAltaFromDate, FechaAltaTo = fechaAltaToDate }; using (GrupoBusiness oGrupoBusiness = new GrupoBusiness()) { return(oGrupoBusiness.GetListByFilter(oGrupoFilter)); } } catch (Exception) { return(null); } }