Ejemplo n.º 1
0
 /// <summary>
 ///     Metodo que actualiza un Costo Embarque Detalle
 /// </summary>
 /// <param name="info"></param>
 internal void Actualizar(CostoEmbarqueDetalleInfo info)
 {
     try
     {
         Logger.Info();
         var costoEmbarqueDetalleDAL = new CostoEmbarqueDetalleDAL();
         costoEmbarqueDetalleDAL.Actualizar(info);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        ///     Obtiene un Costo Embarque Detalle por Id
        /// </summary>
        /// <param name="embarqueDetalleId"></param>
        /// <returns></returns>
        internal List <CostoEmbarqueDetalleInfo> ObtenerPorEmbarqueDetalleID(int embarqueDetalleId)
        {
            List <CostoEmbarqueDetalleInfo> info;

            try
            {
                Logger.Info();
                var costoEmbarqueDetalleDAL = new CostoEmbarqueDetalleDAL();
                info = costoEmbarqueDetalleDAL.ObtenerPorEmbarqueDetalleID(embarqueDetalleId);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
Ejemplo n.º 3
0
        /// <summary>
        ///     Obtiene la Lista de Costos del Embarque
        /// </summary>
        /// <param name="entradaGanado"></param>
        /// <returns></returns>
        internal List <EntradaGanadoCostoInfo> ObtenerPorEmbarqueIDOrganizacionrigen(EntradaGanadoInfo entradaGanado)
        {
            List <EntradaGanadoCostoInfo> info;

            try
            {
                Logger.Info();
                var costoEmbarqueDetalleDAL = new CostoEmbarqueDetalleDAL();
                info = costoEmbarqueDetalleDAL.ObtenerPorEmbarqueIDOrganizacionOrigen(entradaGanado);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Obtiene el ultimo costo registrado que coincida con el origen, destino y proveedor
        /// </summary>
        /// <param name="embarqueDetalleInfo"></param>
        /// <returns></returns>
        internal CostoInfo ObtenerUltimoCostoPorProveedorIDOrigenIDDestinoIDCostoID(EmbarqueInfo embarqueInfo)
        {
            CostoInfo        info  = null;
            List <CostoInfo> lista = null;

            try
            {
                Logger.Info();
                var costoEmbarqueDetalleDAL = new CostoEmbarqueDetalleDAL();

                if (embarqueInfo.TipoEmbarque.TipoEmbarqueID == (int)TipoEmbarque.Ruteo)
                {
                    int numTotalEscalas = embarqueInfo.ListaEscala.Last().Orden;
                    int numEscala       = 1;
                    int esIgual         = 1;
                    if (embarqueInfo.ListaEscala.Count > 2)
                    {
                        IList <EmbarqueDetalleInfo> detalles = costoEmbarqueDetalleDAL.ObtenerEmbarqueDetallesCostosPorProveedorIDOrigenIDDestinoIDCostoID(embarqueInfo);
                        if (detalles != null)
                        {
                            detalles = (from EmbarqueDetalleInfo item in detalles
                                        orderby item.EmbarqueID descending, item.Orden
                                        select item).ToList();
                            decimal importe = 0;
                            for (int i = 0; i < detalles.Count; i++)
                            {
                                if (detalles[i].ListaCostoEmbarqueDetalle.Count > 0)
                                {
                                    importe = detalles[i].ListaCostoEmbarqueDetalle[0].Importe;
                                }
                                if (detalles[i].OrganizacionOrigen.OrganizacionID == embarqueInfo.ListaEscala[numEscala].OrganizacionOrigen.OrganizacionID &&
                                    detalles[i].OrganizacionDestino.OrganizacionID == embarqueInfo.ListaEscala[numEscala].OrganizacionDestino.OrganizacionID)
                                {
                                    esIgual = 1;
                                }
                                else
                                {
                                    esIgual = 0;
                                }

                                if (numEscala == numTotalEscalas)
                                {
                                    if (esIgual == 1)
                                    {
                                        info = new CostoInfo()
                                        {
                                            ImporteCosto = importe
                                        };
                                        break;
                                    }
                                    numEscala = 1;
                                    esIgual   = 1;
                                }
                                numEscala++;
                            }
                        }
                    }
                }
                else
                {
                    lista = costoEmbarqueDetalleDAL.ObtenerCostosPorProveedorIDOrigenIDDestinoIDCostoID(embarqueInfo);
                    if (lista != null)
                    {
                        info = (from CostoInfo item in lista
                                orderby item.FechaCosto descending
                                select item).FirstOrDefault <CostoInfo>();
                    }
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }