public OOB.ResultadoAuto Producto_Movimiento_DesCargo_Insertar(OOB.LibInventario.Movimiento.DesCargo.Insertar.Ficha ficha) { var rt = new OOB.ResultadoAuto(); var xficha = ficha.mov; var movDTO = new DtoLibInventario.Movimiento.DesCargo.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.DesCargo.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.DesCargo.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.DesCargo.Insertar.FichaMovDeposito() { autoProducto = s.autoProducto, nombreProducto = s.nombreProducto, autoDeposito = s.autoDeposito, cantidadUnd = s.cantidadUnd, nombreDeposito = s.nombreDeposito, }; return(dt); }).ToList(); var fichaDTO = new DtoLibInventario.Movimiento.DesCargo.Insertar.Ficha() { mov = movDTO, movDeposito = depDTO, movDetalles = detDTO, movKardex = kardexDTO, }; var r01 = MyData.Producto_Movimiento_DesCargo_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); }
private bool RegistrarDocumento() { var movOOB = new OOB.LibInventario.Movimiento.DesCargo.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 = "DESCARGOS", estacion = Environment.MachineName, estatusAnulado = "0", estatusCierreContable = "0", nota = miData.Motivo, renglones = _gestionDetalle.TotalItems, situacion = "Procesado", tipo = "02", 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.DesCargo.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 = "02", 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.DesCargo.Insertar.FichaMovDeposito() { autoDeposito = DepositoOrigen.id, autoProducto = s.id, nombreProducto = s.desc, cantidadUnd = s.cnt, nombreDeposito = DepositoOrigen.descripcion, }; return(rg); }).ToList(); var KardexOOB = _gestionDetalle.Detalle.ListaItems.Select(s => { var rg = new OOB.LibInventario.Movimiento.DesCargo.Insertar.FichaMovKardex() { autoConcepto = Concepto.id, autoDeposito = DepositoOrigen.id, autoProducto = s.FichaPrd.AutoId, cantidad = s.Cantidad, cantidadBono = 0.0m, cantidadUnd = s.CantidadUnd, codigoMov = "02", 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 = "DES", signoMov = -1, total = s.ImporteMonedaLocal, }; return(rg); }).ToList(); var ficha = new OOB.LibInventario.Movimiento.DesCargo.Insertar.Ficha() { mov = movOOB, movDeposito = depOOB, movDetalles = detOOB, movKardex = KardexOOB, }; var r01 = Sistema.MyData.Producto_Movimiento_DesCargo_Insertar(ficha); if (r01.Result == OOB.Enumerados.EnumResult.isError) { Helpers.Msg.Error(r01.Mensaje); return(false); } Helpers.VisualizarDocumento.CargarVisualizarDocumento(r01.Auto); return(true); }