/// <summary> /// Obtiene el listado de sucursales para los rangos activos /// </summary> /// <param name="comp"></param> /// <returns></returns> public List <string> ObtenerSucursales() { IRecordset recSet = null; string consulta = ""; List <string> listaSucursales = new List <string>(); try { //Obtener objeto estandar de record set recSet = ProcConexion.Comp.GetBusinessObject(BoObjectTypes.BoRecordset); //Establecer consulta consulta = "SELECT DISTINCT(U_Sucursal) FROM [@TFECAE] WHERE U_ValDesde <= GETDATE() AND U_ValHasta >= GETDATE()"; //Ejecutar consulta recSet.DoQuery(consulta); recSet.MoveFirst(); for (int i = 0; i < recSet.RecordCount; i++) { listaSucursales.Add(recSet.Fields.Item("U_Sucursal").Value + ""); recSet.MoveNext(); } } catch (Exception) { listaSucursales = null; } finally { if (recSet != null) { //Liberar memoria utilizada por el objeto record set System.Runtime.InteropServices.Marshal.ReleaseComObject(recSet); System.GC.Collect(); } } return(listaSucursales); }
public static IEnumerable <TDestiny> AsEnumerable <TDestiny>(IRecordset source, bool useXmlAttributes = true) where TDestiny : new() { if (source == null) { throw new ArgumentNullException("source"); } if (source.RecordCount == 0) { yield break; } source.MoveFirst(); var fnMemberInit = GetMemberInit <TDestiny>(source.Fields, useXmlAttributes).Compile(); while (!source.EoF) { yield return(fnMemberInit(source.Fields)); source.MoveNext(); } }