/// <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); } }
/// <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); } }
/// <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); } }