public string GuardarInventarioDet(string mUsuario, Inventario mInventario, Activo mActivo, int mCustodio, int mParame_Ubicacion, int mPardet_Ubicacion) { ActivosFijos.Reglas.Activo activo; WWTSUsuario usuario = new WWTSUsuario(this.mOperadorDatosList[0], mUsuario); Restriccion restriccion = new Restriccion(this.mOperadorDatosList[0], new Infoware.Reglas.General.ParametroDet(this.mOperadorDatosList[0], new Infoware.Reglas.General.Parametro(this.mOperadorDatosList[0], (int)Enumerados.EnumParametros.Opciones), (int)Enumerados.EnumOpciones.InventariarDesdePDA), usuario); int estadoinventario = (int)Enumerados.enumEstadoInventarioActivo.NoInventariado; if (mActivo.esNuevo) { activo = new ActivosFijos.Reglas.Activo(this.mOperadorDatosList[0], true); estadoinventario = (int)Enumerados.enumEstadoInventarioActivo.EncontradoNuevo; } else { activo = new ActivosFijos.Reglas.Activo(this.mOperadorDatosList[0], mActivo.Activo_Codigo); estadoinventario = (int)Enumerados.enumEstadoInventarioActivo.EncontradoExistente; } activo.Activo_CodigoBarra = mActivo.Activo_CodigoBarra; activo.Activo_CodigoAux = mActivo.Activo_CodigoAux; activo.Activo_Serie = mActivo.Activo_Serie; activo.Parame_ClaseActivo = mActivo.Parame_ClaseActivo; activo.Pardet_ClaseActivo = mActivo.Pardet_ClaseActivo; activo.Activo_Descripcion = mActivo.Activo_Descripcion; activo.Parame_Marca = mActivo.Parame_Marca; activo.Pardet_Marca = mActivo.Pardet_Marca; activo.Activo_Modelo = mActivo.Activo_Modelo; activo.Activo_Observacion = mActivo.Activo_Observacion; activo.Parame_EstadoDepreciacion = mActivo.Parame_EstadoDepreciacion; activo.Pardet_EstadoDepreciacion = mActivo.Pardet_EstadoDepreciacion; activo.Parame_EstadoActivo = mActivo.Parame_EstadoActivo; activo.Pardet_EstadoActivo = mActivo.Pardet_EstadoActivo; activo.Activo_ResponsableMantenimiento = mActivo.Activo_ResponsableMantenimiento; activo.Activo_FechaIngreso = mActivo.Activo_FechaIngreso; activo.Activo_FechaCompra = mActivo.Activo_FechaCompra; activo.Activo_FechaUso = mActivo.Activo_FechaUso; activo.Parame_CentroCosto = mActivo.Parame_CentroCosto; activo.Pardet_CentroCosto = mActivo.Pardet_CentroCosto; activo.Factura_Codigo = mActivo.Factura_Codigo; activo.Activo_FechaBaja = mActivo.Activo_FechaBaja; activo.Parame_TipoBajaActivo = mActivo.Parame_TipoBajaActivo; activo.Pardet_TipoBajaActivo = mActivo.Pardet_TipoBajaActivo; foreach (Caracteristica caracteristica in mActivo.Caracteristicas) { ActivoCaracteristica item = new ActivoCaracteristica(this.mOperadorDatosList[0], caracteristica.esNuevo) { Parame_Caracteristica = (int)Enumerados.EnumParametros.CaracteristicaActivo, Pardet_Caracteristica = caracteristica.Pardet_Caracteristica, ActCar_Descripcion = caracteristica.ActCar_Descripcion }; activo.Caracteristicas.Add(item); } bool flag = false; if (mActivo.esNuevo) { flag = activo.Guardar(new WWTSParametroDet(this.mOperadorDatosList[0], mParame_Ubicacion, mPardet_Ubicacion), new ActivosFijos.Reglas.Empleado(this.mOperadorDatosList[0], mCustodio), 0, 0, 0, new WWTSParametroDet(this.mOperadorDatosList[0], (int)Enumerados.EnumParametros.TipoEmpleado, (int)Enumerados.enumTipoEmpleado.Custodio)); } else { flag = activo.Guardar(null, null, 0, 0, 0, null); } if (flag) { Auditoria.Registrar_Auditoria(restriccion, mActivo.esNuevo ? Auditoria.enumTipoAccion.Adicion : Auditoria.enumTipoAccion.Modificacion, "Actualización activo (" + activo.CodigoBarra + ") " + activo.Descripcion); InventarioDet det; try { det = new InventarioDet(this.mOperadorDatosList[0], mInventario.Parame_Ubicacion, mInventario.Pardet_Ubicacion, mInventario.Parame_PeriodoInventario, mInventario.Pardet_PeriodoInventario, mActivo.Activo_Codigo); estadoinventario = (int)Enumerados.enumEstadoInventarioActivo.Inventariado; } catch { det = new InventarioDet(this.mOperadorDatosList[0], true) { Parame_Ubicacion = mInventario.Parame_Ubicacion, Pardet_Ubicacion = mInventario.Pardet_Ubicacion, Parame_PeriodoInventario = mInventario.Parame_PeriodoInventario, Pardet_PeriodoInventario = mInventario.Pardet_PeriodoInventario, Activo_Codigo = activo.Activo_Codigo }; } det.Parame_EstadoInventario = (int)Enumerados.EnumParametros.EstadoInventarioActivo; det.Pardet_EstadoInventario = estadoinventario; det.Usuari_CodigoPDA = mUsuario; bool esNuevo = det.EsNuevo; flag = det.Guardar(mCustodio, mParame_Ubicacion, mPardet_Ubicacion); if (flag) { Auditoria.Registrar_Auditoria(restriccion, esNuevo ? Auditoria.enumTipoAccion.Adicion : Auditoria.enumTipoAccion.Modificacion, "Registro de inventario (" + activo.CodigoBarra + ") " + activo.Descripcion); } } if (!flag) { return("Error " + this.mOperadorDatosList[0].MsgError); } return(""); }