private bool RegistrarDocumento()
        {
            var concepto = lConcepto.FirstOrDefault(m => m.auto == miData.IdConcepto);
            var movOOB   = new OOB.LibInventario.Movimiento.Traslado.Insertar.FichaMov()
            {
                autoConcepto          = miData.IdConcepto,
                autoDepositoDestino   = sucDestino.autoDepositoPrincipal,
                autoDepositoOrigen    = sucOrigen.autoDepositoPrincipal,
                autoRemision          = "",
                autorizado            = miData.AutorizadoPor,
                autoUsuario           = Sistema.UsuarioP.autoUsu,
                cierreFtp             = "",
                codConcepto           = concepto.codigo,
                codDepositoDestino    = sucDestino.codigoDepositoPrincipal,
                codDepositoOrigen     = sucOrigen.codigoDepositoPrincipal,
                codigoSucursal        = sucOrigen.codigo,
                codUsuario            = Sistema.UsuarioP.codigoUsu,
                desConcepto           = concepto.nombre,
                desDepositoDestino    = sucDestino.nombreDepositoPrincipal,
                desDepositoOrigen     = sucOrigen.nombreDepositoPrincipal,
                documentoNombre       = "TRANSFERENCIA",
                estacion              = Environment.MachineName,
                estatusAnulado        = "0",
                estatusCierreContable = "0",
                nota         = miData.Motivo,
                renglones    = _gestionDetalle.TotalItems,
                situacion    = "Procesado",
                tipo         = "03",
                total        = MontoMovimiento,
                usuario      = Sistema.UsuarioP.nombreUsu,
                factorCambio = tasaCambio,
                montoDivisa  = Math.Round(MontoMovimiento / tasaCambio, 2, MidpointRounding.AwayFromZero),
            };
            var detOOB = _gestionDetalle.Detalle.ListaItems.Select(s =>
            {
                var rg = new OOB.LibInventario.Movimiento.Traslado.Insertar.FichaMovDetalle()
                {
                    autoDepartamento = s.FichaPrd.identidad.autoDepartamento,
                    autoGrupo        = s.FichaPrd.identidad.autoGrupo,
                    autoProducto     = s.FichaPrd.AutoId,
                    cantidad         = s.Cantidad,
                    cantidadBono     = 0,
                    cantidadUnd      = s.CantidadUnd,
                    categoria        = s.FichaPrd.Categoria,
                    codigoProducto   = s.FichaPrd.CodigoPrd,
                    contEmpaque      = s.FichaPrd.identidad.contenidoCompra,
                    costoCompra      = s.CostoMonedaLocal,
                    costoUnd         = s.CostoUndMonedaLocal,
                    decimales        = s.FichaPrd.Decimales,
                    empaque          = s.FichaPrd.identidad.empaqueCompra,
                    estatusAnulado   = "0",
                    estatusUnidad    = s.TipoEmpaqueSeleccionado == enumerados.enumTipoEmpaque.PorUnidad ? "1" : "0",
                    nombreProducto   = s.DescripcionPrd,
                    signo            = 1,
                    tipo             = "03",
                    total            = s.ImporteMonedaLocal,
                };
                return(rg);
            }).ToList();
            var depOOB = _gestionDetalle.Detalle.ListaItems.Select(s =>
            {
                var rg = new OOB.LibInventario.Movimiento.Traslado.Insertar.FichaMovDeposito()
                {
                    autoDeposito        = sucOrigen.autoDepositoPrincipal,
                    nombreProducto      = s.DescripcionPrd,
                    autoDepositoDestino = sucDestino.autoDepositoPrincipal,
                    autoProducto        = s.FichaPrd.AutoId,
                    cantidadUnd         = s.CantidadUnd,
                    nombreDeposito      = sucOrigen.nombreDepositoPrincipal,
                    depositoDestino     = sucDestino.nombreDepositoPrincipal,
                };
                return(rg);
            }).ToList();
            var kardexS = _gestionDetalle.Detalle.ListaItems.Select(s =>
            {
                var rg = new OOB.LibInventario.Movimiento.Traslado.Insertar.FichaMovKardex()
                {
                    autoConcepto   = concepto.auto,
                    autoDeposito   = sucOrigen.autoDepositoPrincipal,
                    autoProducto   = s.FichaPrd.AutoId,
                    cantidad       = s.Cantidad,
                    cantidadBono   = 0.0m,
                    cantidadUnd    = s.CantidadUnd,
                    codigoMov      = "03",
                    codigoConcepto = concepto.codigo,
                    codigoDeposito = sucOrigen.codigoDepositoPrincipal,
                    codigoSucursal = sucOrigen.codigo,
                    costoUnd       = s.CostoUndMonedaLocal,
                    entidad        = "",
                    estatusAnulado = "0",
                    modulo         = "Inventario",
                    nombreConcepto = concepto.nombre,
                    nombreDeposito = sucOrigen.nombreDepositoPrincipal,
                    nota           = "",
                    precioUnd      = 0.0m,
                    siglasMov      = "TRA",
                    signoMov       = -1,
                    total          = s.ImporteMonedaLocal,
                };
                return(rg);
            }).ToList();
            var kardexE = _gestionDetalle.Detalle.ListaItems.Select(s =>
            {
                var rg = new OOB.LibInventario.Movimiento.Traslado.Insertar.FichaMovKardex()
                {
                    autoConcepto   = concepto.auto,
                    autoDeposito   = sucDestino.autoDepositoPrincipal,
                    autoProducto   = s.FichaPrd.AutoId,
                    cantidad       = s.Cantidad,
                    cantidadBono   = 0.0m,
                    cantidadUnd    = s.CantidadUnd,
                    codigoMov      = "03",
                    codigoConcepto = concepto.codigo,
                    codigoDeposito = sucDestino.codigoDepositoPrincipal,
                    codigoSucursal = sucOrigen.codigo,
                    costoUnd       = s.CostoUndMonedaLocal,
                    entidad        = "",
                    estatusAnulado = "0",
                    modulo         = "Inventario",
                    nombreConcepto = concepto.nombre,
                    nombreDeposito = sucDestino.nombreDepositoPrincipal,
                    nota           = "",
                    precioUnd      = 0.0m,
                    siglasMov      = "TRA",
                    signoMov       = 1,
                    total          = s.ImporteMonedaLocal,
                };
                return(rg);
            }).ToList();
            var kardexOOB = kardexS.Union(kardexE).ToList();

            var fichaOOB = new OOB.LibInventario.Movimiento.Traslado.Insertar.Ficha()
            {
                mov         = movOOB,
                movDetalles = detOOB,
                movKardex   = kardexOOB,
                movDeposito = depOOB,
            };
            var r01 = Sistema.MyData.Producto_Movimiento_Traslado_Insertar(fichaOOB);

            if (r01.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return(false);
            }
            Helpers.VisualizarDocumento.CargarVisualizarDocumento(r01.Auto);

            return(true);
        }
Example #2
0
        public OOB.ResultadoAuto Producto_Movimiento_Traslado_Devolucion_Insertar(OOB.LibInventario.Movimiento.Traslado.Insertar.Ficha ficha)
        {
            var rt = new OOB.ResultadoAuto();

            var xficha = ficha.mov;
            var movDTO = new DtoLibInventario.Movimiento.Traslado.Insertar.FichaMov()
            {
                autoConcepto          = xficha.autoConcepto,
                autoDepositoDestino   = xficha.autoDepositoDestino,
                autoDepositoOrigen    = xficha.autoDepositoOrigen,
                autoRemision          = xficha.autoRemision,
                autorizado            = xficha.autorizado,
                autoUsuario           = xficha.autoUsuario,
                cierreFtp             = xficha.cierreFtp,
                codConcepto           = xficha.codConcepto,
                codDepositoDestino    = xficha.codDepositoDestino,
                codDepositoOrigen     = xficha.codDepositoOrigen,
                codigoSucursal        = xficha.codigoSucursal,
                codUsuario            = xficha.codUsuario,
                desConcepto           = xficha.desConcepto,
                desDepositoDestino    = xficha.desDepositoDestino,
                desDepositoOrigen     = xficha.desDepositoOrigen,
                documentoNombre       = xficha.documentoNombre,
                estacion              = xficha.estacion,
                estatusAnulado        = xficha.estatusAnulado,
                estatusCierreContable = xficha.estatusCierreContable,
                nota         = xficha.nota,
                renglones    = xficha.renglones,
                situacion    = xficha.situacion,
                tipo         = xficha.tipo,
                total        = xficha.total,
                usuario      = xficha.usuario,
                factorCambio = xficha.factorCambio,
                montoDivisa  = xficha.montoDivisa,
            };
            var detDTO = ficha.movDetalles.Select(s =>
            {
                var dt = new DtoLibInventario.Movimiento.Traslado.Insertar.FichaMovDetalle()
                {
                    autoDepartamento = s.autoDepartamento,
                    autoGrupo        = s.autoGrupo,
                    autoProducto     = s.autoProducto,
                    cantidad         = s.cantidad,
                    cantidadBono     = s.cantidadBono,
                    cantidadUnd      = s.cantidadUnd,
                    categoria        = s.categoria,
                    codigoProducto   = s.codigoProducto,
                    contEmpaque      = s.contEmpaque,
                    costoCompra      = s.costoCompra,
                    costoUnd         = s.costoUnd,
                    decimales        = s.decimales,
                    empaque          = s.empaque,
                    estatusAnulado   = s.estatusAnulado,
                    estatusUnidad    = s.estatusUnidad,
                    nombreProducto   = s.nombreProducto,
                    signo            = s.signo,
                    tipo             = s.tipo,
                    total            = s.total,
                };
                return(dt);
            }).ToList();
            var kardexDTO = ficha.movKardex.Select(s =>
            {
                var dt = new DtoLibInventario.Movimiento.Traslado.Insertar.FichaMovKardex()
                {
                    autoConcepto   = s.autoConcepto,
                    autoDeposito   = s.autoDeposito,
                    autoProducto   = s.autoProducto,
                    cantidad       = s.cantidad,
                    cantidadBono   = s.cantidadBono,
                    cantidadUnd    = s.cantidadUnd,
                    codigoMov      = s.codigoMov,
                    codigoSucursal = s.codigoSucursal,
                    costoUnd       = s.costoUnd,
                    entidad        = s.entidad,
                    estatusAnulado = s.estatusAnulado,
                    modulo         = s.modulo,
                    nota           = s.nota,
                    precioUnd      = s.precioUnd,
                    siglasMov      = s.siglasMov,
                    signoMov       = s.signoMov,
                    total          = s.total,
                    codigoConcepto = s.codigoConcepto,
                    nombreConcepto = s.nombreConcepto,
                    codigoDeposito = s.codigoDeposito,
                    nombreDeposito = s.nombreDeposito,
                };
                return(dt);
            }).ToList();
            var depDTO = ficha.movDeposito.Select(s =>
            {
                var dt = new DtoLibInventario.Movimiento.Traslado.Insertar.FichaMovDeposito()
                {
                    autoProducto        = s.autoProducto,
                    nombreProducto      = s.nombreProducto,
                    autoDeposito        = s.autoDeposito,
                    autoDepositoDestino = s.autoDepositoDestino,
                    depositoDestino     = s.depositoDestino,
                    nombreDeposito      = s.nombreDeposito,
                    cantidadUnd         = s.cantidadUnd,
                };
                return(dt);
            }).ToList();

            var fichaDTO = new DtoLibInventario.Movimiento.Traslado.Insertar.Ficha()
            {
                mov         = movDTO,
                detalles    = detDTO,
                movKardex   = kardexDTO,
                prdDeposito = depDTO,
            };
            var r01 = MyData.Producto_Movimiento_Traslado_Devolucion_Insertar(fichaDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }
            rt.Auto = r01.Auto;

            return(rt);
        }