Ejemplo n.º 1
0
        /// <summary>
        /// Obtiene una lista paginada de contrato
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        internal ResultadoInfo <ContratoInfo> ObtenerPorPaginaSinProgramacion(PaginacionInfo pagina, ContratoInfo filtro)
        {
            try
            {
                Logger.Info();
                var contratoDAL = new ContratoDAL();
                ResultadoInfo <ContratoInfo> contratoLista = contratoDAL.ObtenerPorPaginaSinProgramacion(pagina, filtro);
                if (contratoLista != null)
                {
                    foreach (var contrato in contratoLista.Lista)
                    {
                        //Obtener precio y cantidad por tonelada
                        contrato.CantidadToneladas = (int)(contrato.Cantidad / 1000);
                        if (contrato.TipoCambio == null)
                        {
                            continue;
                        }
                        if (contrato.TipoCambio.Descripcion.ToUpper() == Properties.ResourceServices.ContratoBL_DescripcionMonedaDolarMayuscula)
                        {
                            contrato.PrecioToneladas = (contrato.Precio * 1000) / contrato.TipoCambio.Cambio;
                        }
                        else
                        {
                            contrato.PrecioToneladas = contrato.Precio * 1000;
                        }

                        //Obtener detalle de contrato
                        if (contrato.ContratoId <= 0)
                        {
                            continue;
                        }
                        var contratoDetalleBl = new ContratoDetalleBL();
                        contrato.ListaContratoDetalleInfo = contratoDetalleBl.ObtenerPorContratoId(contrato);
                    }
                }
                return(contratoLista);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }