/// <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> /// 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 un contrato por id /// </summary> /// <param name="contratoInfo"></param> /// <returns>ContratoInfo</returns> internal ContratoInfo ObtenerPorId(ContratoInfo contratoInfo) { ContratoInfo contrato; try { Logger.Info(); var contratoDAL = new ContratoDAL(); contrato = contratoDAL.ObtenerPorId(contratoInfo); if (contrato != null) { if (contrato.Organizacion.OrganizacionID > 0) { var organizacionBl = new OrganizacionBL(); contrato.Organizacion = organizacionBl.ObtenerPorID(contrato.Organizacion.OrganizacionID); } if (contrato.Producto.ProductoId > 0) { var productoBl = new ProductoBL(); contrato.Producto = productoBl.ObtenerPorID(contrato.Producto); } if (contrato.Proveedor.ProveedorID > 0) { var proveedorBl = new ProveedorBL(); contrato.Proveedor = proveedorBl.ObtenerPorID(contrato.Proveedor.ProveedorID); } if (contrato.TipoContrato.TipoContratoId > 0) { var tipoContratoBl = new TipoContratoBL(); contrato.TipoContrato = tipoContratoBl.ObtenerPorId(contrato.TipoContrato.TipoContratoId); contrato.tipocontratodescripcion = contrato.TipoContrato.Descripcion.ToString(); } if (contrato.TipoFlete != null && contrato.TipoFlete.TipoFleteId > 0) { var tipoFleteBl = new TipoFleteBL(); contrato.TipoFlete = tipoFleteBl.ObtenerPorId(contrato.TipoFlete.TipoFleteId); } if (contrato.TipoCambio != null && contrato.TipoCambio.TipoCambioId > 0) { var tipoCambioBl = new TipoCambioBL(); contrato.TipoCambio = tipoCambioBl.ObtenerPorId(contrato.TipoCambio.TipoCambioId); } if (contrato.ContratoId > 0) { var contratoDetalleBl = new ContratoDetalleBL(); contrato.ListaContratoDetalleInfo = contratoDetalleBl.ObtenerPorContratoId(contrato); } //Obtener precio y cantidad por tonelada contrato.CantidadToneladas = (int)(contrato.Cantidad / 1000); if (contrato.TipoCambio != null) { if (contrato.TipoCambio.Descripcion == Properties.ResourceServices.ContratoBL_DescripcionMonedaDolarMayuscula) { contrato.PrecioToneladas = (contrato.Precio * 1000) / contrato.TipoCambio.Cambio; } else { contrato.PrecioToneladas = contrato.Precio * 1000; } } if (contrato.Cuenta != null) { if (contrato.Cuenta.CuentaSAPID > 0) { CuentaSAPBL cuentaSapBl = new CuentaSAPBL(); contrato.Cuenta.Activo = EstatusEnum.Activo; contrato.Cuenta = cuentaSapBl.ObtenerPorFiltroSinTipo(contrato.Cuenta); } } // } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(contrato); }