/// <summary>
        ///     Obtiene un CostoEmbarqueInfo por Id
        /// </summary>
        /// <param name="embarqueDetalleId"></param>
        /// <returns></returns>
        internal List <CostoEmbarqueDetalleInfo> ObtenerPorEmbarqueDetalleID(int embarqueDetalleId)
        {
            List <CostoEmbarqueDetalleInfo> result = null;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxCostoEmbarqueDetalleDAL.ObtenerParametroPorEmbarqueDetalleID(embarqueDetalleId);
                DataSet ds = Retrieve("[dbo].[CostoEmbarqueDetalle_ObtenerPorEmbarqueDetalleID]", parameters);
                if (ValidateDataSet(ds))
                {
                    result = MapCostoEmbarqueDetalleDAL.ObtenerPorEmbarqueDetalleID(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 el detalle de los embarques con la misma escala, proveedor, origen, destino y tipo de embarque
        /// </summary>
        /// <param name="embarqueInfo"></param>
        /// <returns></returns>
        internal List <EmbarqueDetalleInfo> ObtenerEmbarqueDetallesCostosPorProveedorIDOrigenIDDestinoIDCostoID(EmbarqueInfo embarqueInfo)
        {
            List <EmbarqueDetalleInfo> result = null;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxCostoEmbarqueDetalleDAL.ObtenerEmbarqueDetallesCostosPorProveedorIDOrigenIDDestinoIDCostoID(embarqueInfo);
                DataSet ds = Retrieve("EmbarqueDetalle_Costos_ObtenerDetallesYCostosPorProveedorIDOrigenIDDestinoIDCostoID", parameters);
                if (ValidateDataSet(ds))
                {
                    result = MapCostoEmbarqueDetalleDAL.ObtenerEmbarqueDetallesCostosPorProveedorIDOrigenIDDestinoIDCostoID(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 un Costo Embarque Detalle
        /// </summary>
        /// <param name="info"></param>
        internal int Crear(CostoEmbarqueDetalleInfo info)
        {
            int infoId;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxCostoEmbarqueDetalleDAL.ObtenerParametrosGuardado(info);
                infoId = Create("[dbo].[CostoEmbarqueDetalle_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);
            }

            return(infoId);
        }
 /// <summary>
 ///     Metodo que actualiza un Costo Embarque
 /// </summary>
 /// <param name="info"></param>
 internal void Actualizar(CostoEmbarqueDetalleInfo info)
 {
     try
     {
         Dictionary <string, object> parameters = AuxCostoEmbarqueDetalleDAL.ObtenerParametrosActualizar(info);
         Update("[dbo].[CostoEmbarqueDetalle_Actualizar]", 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);
     }
 }