예제 #1
0
        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("");
        }