コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        /// <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);
        }