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); }
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); }