Example #1
0
        private bool RegistrarDocumento()
        {
            var movOOB = new OOB.LibInventario.Movimiento.Ajuste.Insertar.FichaMov()
            {
                autoConcepto          = Concepto.id,
                autoDepositoDestino   = DepositoOrigen.id,
                autoDepositoOrigen    = DepositoOrigen.id,
                autoRemision          = "",
                autorizado            = miData.AutorizadoPor,
                autoUsuario           = Sistema.UsuarioP.autoUsu,
                cierreFtp             = "",
                codConcepto           = Concepto.codigo,
                codDepositoDestino    = DepositoOrigen.codigo,
                codDepositoOrigen     = DepositoOrigen.codigo,
                codigoSucursal        = Sucursal.codigo,
                codUsuario            = Sistema.UsuarioP.codigoUsu,
                desConcepto           = Concepto.descripcion,
                desDepositoDestino    = DepositoOrigen.descripcion,
                desDepositoOrigen     = DepositoOrigen.descripcion,
                documentoNombre       = "AJUSTES",
                estacion              = Environment.MachineName,
                estatusAnulado        = "0",
                estatusCierreContable = "0",
                nota         = miData.Motivo,
                renglones    = _gestionDetalle.TotalItems,
                situacion    = "Procesado",
                tipo         = "04",
                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.Ajuste.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            = s.Signo,
                    tipo             = "04",
                    total            = s.ImporteMonedaLocal,
                };
                return(rg);
            }).ToList();
            var gr3 = _gestionDetalle.Detalle.ListaItems.GroupBy
                          (g => new { g.FichaPrd.AutoId, g.DescripcionPrd }).
                      Select(g2 => new { id = g2.Key.AutoId, desc = g2.Key.DescripcionPrd, cnt = g2.Sum(s => s.CantidadUnd * s.Signo) }).ToList();
            var depOOB = gr3.Select(s =>
            {
                var rg = new OOB.LibInventario.Movimiento.Ajuste.Insertar.FichaMovDeposito()
                {
                    autoDeposito   = DepositoOrigen.id,
                    autoProducto   = s.id,
                    cantidadUnd    = s.cnt,
                    nombreProducto = s.desc,
                    nombreDeposito = DepositoOrigen.descripcion,
                };
                return(rg);
            }).ToList();
            var KardexOOB = _gestionDetalle.Detalle.ListaItems.Select(s =>
            {
                var rg = new OOB.LibInventario.Movimiento.Ajuste.Insertar.FichaMovKardex()
                {
                    autoConcepto   = Concepto.id,
                    autoDeposito   = DepositoOrigen.id,
                    autoProducto   = s.FichaPrd.AutoId,
                    cantidad       = s.Cantidad,
                    cantidadBono   = 0.0m,
                    cantidadUnd    = s.CantidadUnd,
                    codigoMov      = "04",
                    codigoConcepto = Concepto.codigo,
                    codigoDeposito = DepositoOrigen.codigo,
                    codigoSucursal = Sucursal.codigo,
                    costoUnd       = s.CostoUndMonedaLocal,
                    entidad        = "",
                    estatusAnulado = "0",
                    modulo         = "Inventario",
                    nombreConcepto = Concepto.descripcion,
                    nombreDeposito = DepositoOrigen.descripcion,
                    nota           = "",
                    precioUnd      = 0.0m,
                    siglasMov      = "AJU",
                    signoMov       = s.Signo,
                    total          = s.ImporteMonedaLocal,
                };
                return(rg);
            }).ToList();
            var fichaOOB = new OOB.LibInventario.Movimiento.Ajuste.Insertar.Ficha()
            {
                mov         = movOOB,
                movDeposito = depOOB,
                movDetalles = detOOB,
                movKardex   = KardexOOB,
            };
            var r01 = Sistema.MyData.Producto_Movimiento_Ajuste_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
        //INSERTAR
        public OOB.ResultadoAuto Producto_Movimiento_Ajuste_Insertar(OOB.LibInventario.Movimiento.Ajuste.Insertar.Ficha data)
        {
            var rt = new OOB.ResultadoAuto();

            var mov    = data.mov;
            var movDTO = new DtoLibInventario.Movimiento.Ajuste.Insertar.FichaMov()
            {
                autoConcepto          = mov.autoConcepto,
                autoDepositoDestino   = mov.autoDepositoDestino,
                autoDepositoOrigen    = mov.autoDepositoOrigen,
                autoRemision          = mov.autoRemision,
                autorizado            = mov.autorizado,
                autoUsuario           = mov.autoUsuario,
                cierreFtp             = mov.cierreFtp,
                codConcepto           = mov.codConcepto,
                codDepositoDestino    = mov.codDepositoDestino,
                codDepositoOrigen     = mov.codDepositoOrigen,
                codigoSucursal        = mov.codigoSucursal,
                codUsuario            = mov.codUsuario,
                desConcepto           = mov.desConcepto,
                desDepositoDestino    = mov.desDepositoDestino,
                desDepositoOrigen     = mov.desDepositoOrigen,
                documentoNombre       = mov.documentoNombre,
                estacion              = mov.estacion,
                estatusAnulado        = mov.estatusAnulado,
                estatusCierreContable = mov.estatusCierreContable,
                nota         = mov.nota,
                renglones    = mov.renglones,
                situacion    = mov.situacion,
                tipo         = mov.tipo,
                total        = mov.total,
                usuario      = mov.usuario,
                factorCambio = mov.factorCambio,
                montoDivisa  = mov.montoDivisa,
            };
            var movDetDTO = data.movDetalles.Select(s =>
            {
                var dt = new DtoLibInventario.Movimiento.Ajuste.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 movKardexDTO = data.movKardex.Select(s =>
            {
                var dt = new DtoLibInventario.Movimiento.Ajuste.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 movDepDTO = data.movDeposito.Select(s =>
            {
                var dt = new DtoLibInventario.Movimiento.Ajuste.Insertar.FichaMovDeposito()
                {
                    autoProducto   = s.autoProducto,
                    autoDeposito   = s.autoDeposito,
                    cantidadUnd    = s.cantidadUnd,
                    nombreProducto = s.nombreProducto,
                    nombreDeposito = s.nombreDeposito,
                };
                return(dt);
            }).ToList();
            var fichaDto = new DtoLibInventario.Movimiento.Ajuste.Insertar.Ficha()
            {
                mov         = movDTO,
                movDeposito = movDepDTO,
                movDetalles = movDetDTO,
                movKardex   = movKardexDTO,
            };
            var r01 = MyData.Producto_Movimiento_Ajuste_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);
        }