/// <summary>
        /// Método que obtiene una lista paginada
        /// </summary>
        /// <param name="ds"></param>
        /// <returns></returns>
        public static ResultadoInfo <TraspasoMpPaMedInfo> ObtenerPorPagina(DataSet ds)
        {
            try
            {
                var contratoDAL = new ContratoDAL();
                var almacenDAL  = new AlmacenDAL();
                var almacenInventarioLoteDAL = new AlmacenInventarioLoteDAL();
                var cuentaSAPDAL             = new CuentaSAPDAL();
                var productoDAL = new ProductoDAL();
                Logger.Info();
                DataTable dt = ds.Tables[ConstantesDAL.DtDatos];
                List <TraspasoMpPaMedInfo> lista =
                    (from info in dt.AsEnumerable()
                     select
                     new TraspasoMpPaMedInfo
                {
                    TraspasoMateriaPrimaID = info.Field <int>("TraspasoMateriaPrimaID"),
                    ContratoOrigen = info.Field <int?>("ContratoOrigenID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoOrigenID")
                    }) : new ContratoInfo(),
                    ContratoDestino = info.Field <int?>("ContratoDestinoID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoDestinoID")
                    }) : new ContratoInfo(),
                    FolioTraspaso = info.Field <long>("FolioTraspaso"),
                    AlmacenOrigen = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenOrigenID")),
                    AlmacenDestino = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenDestinoID")),
                    LoteMpOrigen = info.Field <int?>("InventarioLoteOrigenID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteOrigenID")) : new AlmacenInventarioLoteInfo(),
                    LoteMpDestino = info.Field <int?>("InventarioLoteDestinoID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteDestinoID")) : new AlmacenInventarioLoteInfo(),
                    CuentaContable = info.Field <int?>("CuentaSAPID") != null ? cuentaSAPDAL.ObtenerPorID(info.Field <int>("CuentaSAPID")) : new CuentaSAPInfo(),
                    JustificacionDestino = info.Field <string>("Justificacion"),
                    CantidadTraspasarOrigen = info.Field <decimal>("CantidadSalida"),
                    CantidadTraspasarDestino = info.Field <decimal>("CantidadEntrada"),
                    ProductoOrigen = productoDAL.ObtenerPorID(new ProductoInfo {
                        ProductoId = info.Field <int>("ProductoID")
                    }),
                    FechaTraspaso = info.Field <DateTime>("FechaMovimiento")
                                    //AlmacenMovimientoOrigen = new AlmacenMovimientoInfo { AlmacenMovimientoID = info.Field<long>("AlmacenMovimientoID")},
                                    //AlmacenMovimientoDestino = new AlmacenMovimientoInfo { AlmacenMovimientoID = info.Field<long>("AlmacenMovimientoID")},
                                    //Activo = info.Field<bool>("Activo").BoolAEnum(),
                }).ToList();

                int totalRegistros = Convert.ToInt32(ds.Tables[ConstantesDAL.DtContador].Rows[0]["TotalReg"]);
                var resultado      =
                    new ResultadoInfo <TraspasoMpPaMedInfo>
                {
                    Lista          = lista,
                    TotalRegistros = totalRegistros
                };
                return(resultado);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="producto"></param>
 /// <returns></returns>
 internal ProductoInfo ObtenerPorIdFiltroFamiliaSubfamilias(ProductoInfo producto)
 {
     try
     {
         var productosForraje = new List <int>();
         Logger.Info();
         var          productoDal  = new ProductoDAL();
         ProductoInfo productoInfo = productoDal.ObtenerPorID(producto);
         if (productoInfo != null)
         {
             if (productoInfo.Familia.FamiliaID == FamiliasEnum.MateriaPrimas.GetHashCode())
             {
                 return(productoInfo);
             }
             if (productoInfo.SubFamilia.SubFamiliaID == SubFamiliasEnum.Pacas.GetHashCode())
             {
                 return(productoInfo);
             }
             var parametroGeneralBL         = new ParametroGeneralBL();
             ParametroGeneralInfo parametro =
                 parametroGeneralBL.ObtenerPorClaveParametro(ParametrosEnum.SubProductosCrearContrato.ToString());
             if (parametro != null)
             {
                 if (parametro.Valor.Contains('|'))
                 {
                     productosForraje = (from tipos in parametro.Valor.Split('|')
                                         select Convert.ToInt32(tipos)).ToList();
                 }
                 else
                 {
                     int forraje = Convert.ToInt32(parametro.Valor);
                     productosForraje.Add(forraje);
                 }
             }
             if (productosForraje.Any(i => i == Convert.ToInt32(productoInfo.ProductoId)))
             {
                 return(productoInfo);
             }
         }
         return(null);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        /// <summary>
        /// Método que obtiene un traspaso de materia prima por su folio
        /// </summary>
        /// <param name="ds"></param>
        /// <returns></returns>
        public static TraspasoMpPaMedInfo ObtenerPorFolio(DataSet ds)
        {
            try
            {
                var contratoDAL = new ContratoDAL();
                var almacenDAL  = new AlmacenDAL();
                var almacenInventarioLoteDAL = new AlmacenInventarioLoteDAL();
                var cuentaSAPDAL             = new CuentaSAPDAL();
                var productoDAL = new ProductoDAL();
                Logger.Info();
                DataTable           dt     = ds.Tables[ConstantesDAL.DtDatos];
                TraspasoMpPaMedInfo result =
                    (from info in dt.AsEnumerable()
                     select
                     new TraspasoMpPaMedInfo
                {
                    TraspasoMateriaPrimaID = info.Field <int>("TraspasoMateriaPrimaID"),
                    ContratoOrigen = info.Field <int?>("ContratoOrigenID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoOrigenID")
                    }) : new ContratoInfo(),
                    ContratoDestino = info.Field <int?>("ContratoDestinoID") != null ? contratoDAL.ObtenerPorId(new ContratoInfo {
                        ContratoId = info.Field <int>("ContratoDestinoID")
                    }) : new ContratoInfo(),
                    FolioTraspaso = info.Field <long>("FolioTraspaso"),
                    AlmacenOrigen = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenOrigenID")),
                    AlmacenDestino = almacenDAL.ObtenerPorID(info.Field <int>("AlmacenDestinoID")),
                    LoteMpOrigen = info.Field <int?>("InventarioLoteOrigenID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteOrigenID")) : new AlmacenInventarioLoteInfo(),
                    LoteMpDestino = info.Field <int?>("InventarioLoteDestinoID") != null ? almacenInventarioLoteDAL.ObtenerAlmacenInventarioLotePorId(info.Field <int>("InventarioLoteDestinoID")) : new AlmacenInventarioLoteInfo(),
                    CuentaContable = info.Field <int?>("CuentaSAPID") != null ? cuentaSAPDAL.ObtenerPorID(info.Field <int>("CuentaSAPID")) : new CuentaSAPInfo(),
                    JustificacionDestino = info.Field <string>("Justificacion"),
                    CantidadTraspasarOrigen = info.Field <decimal>("CantidadSalida"),
                    CantidadTraspasarDestino = info.Field <decimal>("CantidadEntrada"),
                    ProductoOrigen = productoDAL.ObtenerPorID(new ProductoInfo {
                        ProductoId = info.Field <int>("ProductoID")
                    }),
                    FechaTraspaso = info.Field <DateTime>("FechaMovimiento")
                }).First();

                return(result);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Obtiene una entidad por su ID
 /// </summary>
 /// <param name="producto"></param>
 /// <returns></returns>
 internal ProductoInfo ObtenerPorID(ProductoInfo producto)
 {
     try
     {
         Logger.Info();
         var          productoDAL  = new ProductoDAL();
         ProductoInfo productoInfo = productoDAL.ObtenerPorID(producto);
         return(productoInfo);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }