Exemplo n.º 1
0
        /*
         * Metodo que ejecutara las acciones
         * @ts tabla de simbolos
         * @user usuario que ejecuta la accion
         * return Mensaje LUP de Correcta accion o Incorrecta
         */

        public object ejecutar(TablaDeSimbolos ts, Ambito ambito, TablaDeSimbolos tsT)
        {
            Mensaje     mensa = new Mensaje();
            BaseDeDatos db    = TablaBaseDeDatos.getBase(bd);

            if (db == null)
            {
                ambito.mensajes.AddLast(mensa.error("La base de datos: " + bd + " no existe ", linea, columna, "Semantico"));
                ambito.listadoExcepciones.AddLast(new Excepcion("bddontexists", "La base de datos: " + bd + " no existe "));
                return(null);
            }
            if (TablaBaseDeDatos.getEnUso(bd, ambito.usuario))
            {
                ambito.mensajes.AddLast(mensa.error("La base de datos: " + bd + " esta siendo utilizada por otro usuario ", linea, columna, "Semantico"));
                return(null);
            }
            Usuario usu = TablaBaseDeDatos.getUsuario(ambito.usuario);

            if (usu == null && !ambito.usuario.Equals("admin"))
            {
                ambito.mensajes.AddLast(mensa.error("El usuario: " + ambito.usuario + " no existe ", linea, columna, "Semantico"));
                return(null);
            }
            ambito.baseD = bd;
            USO newU = new USO(ambito.baseD, ambito.usuario);

            TablaBaseDeDatos.deleteMine(ambito.usuario);
            TablaBaseDeDatos.listaEnUso.AddLast(newU);
            ambito.mensajes.AddLast(mensa.message("Se esta utilizando la base " + ambito.baseD + " exitosamente"));
            return("");
        }
        private void DeleteServer(string ServerName)
        {
            foreach (UniversalServerObject USO in servers)
            {
                if (USO.ServerName == ServerName)
                {
                    servers.Remove(USO); USO.Dispose(); break;
                }
            }

            string Dir = Environment.CurrentDirectory + @"\" + ServerName;

            if (Directory.Exists(Dir))
            {
                Directory.Delete(Dir, true);
            }

            string oldSettingValue = settingsFramework.ReadSetting(_servers);

            if (oldSettingValue != null)
            {
                List <string> _Servers = oldSettingValue.Split(new string[] { seperator }, StringSplitOptions.RemoveEmptyEntries).ToList();
                _Servers.Remove(ServerName);
                string newSettingValue = string.Join(seperator, _Servers);
                settingsFramework.EditSetting(_servers, newSettingValue);
            }

            ILogger.AddToLog("INFO", "Deleted " + ServerName + " sucessfully!");
        }