/// <summary>
        ///     Obtiene una Interface de Salida por Id
        /// </summary>
        /// <param name="salidaID"></param>
        /// <param name="organizacionID"></param>
        /// <returns></returns>
        internal InterfaceSalidaInfo ObtenerPorID(int salidaID, int organizacionID)
        {
            InterfaceSalidaInfo result = null;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxInterfaceSalidaDAL.ObtenerParametrosPorID(salidaID, organizacionID);
                DataSet ds = Retrieve("[dbo].[InterfaceSalida_ObtenerPorID]", parameters);
                if (ValidateDataSet(ds))
                {
                    result = MapInterfaceSalidaDAL.ObtenerParametrosPorID(ds);
                }
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
        /// <summary>
        ///     Obtiene una Interface de Salida por Id
        /// </summary>
        /// <param name="salidaID"></param>
        /// <param name="organizacionID"></param>
        /// <param name="organizacionOrigenID"></param>
        /// <returns></returns>
        internal int ObtenerPorEmbarque(int salidaID, int organizacionID, int organizacionOrigenID)
        {
            int result;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxInterfaceSalidaDAL.ObtenerParametrosPorEmbarque(salidaID, organizacionID, organizacionOrigenID);
                result = RetrieveValue <int>("[dbo].[InterfaceSalida_ObtenerPorEmbarque]", parameters);
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
        /// <summary>
        ///     Obtiene una Interface de Salida por SalidaID y OrganizacionID
        /// </summary>
        /// <param name="entradaGanado"></param>
        /// <returns></returns>
        internal List <InterfaceSalidaInfo> ObtenerPorEmbarqueIDConCompraDirecta(EntradaGanadoInfo entradaGanado)
        {
            List <InterfaceSalidaInfo> result = null;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxInterfaceSalidaDAL.ObtenerParametrosPorEmbarqueID(entradaGanado);
                DataSet ds = Retrieve("[dbo].[InterfaceSalida_ObtenerPorEmbarqueIDConCompraDirecta]", parameters);
                if (ValidateDataSet(ds))
                {
                    result = MapInterfaceSalidaDAL.ObtenerPorEmbarqueID(ds);
                }
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
 /// <summary>
 ///     Metodo que crear una interfaceSalida
 /// </summary>
 /// <param name="interfaceSalidaInfo"></param>
 internal void Crear(InterfaceSalidaInfo interfaceSalidaInfo)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxInterfaceSalidaDAL.ObtenerParametrosGuardado(interfaceSalidaInfo);
         Create("InterfaceSalida_Crear", parameters);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }