/// <summary>
        /// Loads existing databses
        /// </summary>
        /// <param name="basePath">Database path</param>
        /// <param name="provider">Provider name</param>
        /// <param name="env">Environment type</param>
        /// <param name="eId">Envinronment ID</param>
        /// <param name="vId">VM ID</param>
        private void LoadDatabases(
            string basePath,
            string provider,
            EnvironmentTypes env,
            string eId = "",
            string vId = "")
        {
            {
                string   environment = Enum.GetName(typeof(EnvironmentTypes), env);
                string[] names       = Directory.GetDirectories(basePath + "/" + provider + "/" + environment + "/" + eId);

                foreach (string x in names)
                {
                    string[] xArr = x.Split('/');
                    string   xf   = xArr[xArr.Length - 1];
                    if ((xf.ToLower().IndexOf("sql") > -1))
                    {
                        string   fileName  = basePath + "/" + provider + "/" + environment + "/" + eId + "/" + xf;
                        string[] fileNames = Directory.GetFiles(fileName);

                        foreach (string fn in fileNames)
                        {
                            string[]            fnArr  = fn.Split('/');
                            string              fnf    = fnArr[fnArr.Length - 1];
                            DatabaseTypes       dbType = WhichDatabase(xf);
                            DatabaseServerModel db     = new DatabaseServerModel(fn, provider, env, eId, dbType, false, fnf.Replace(".mdb", ""));

                            _Databases.Add(db);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Deletes database.
        /// </summary>
        /// <param name="provider">Provider name</param>
        /// <param name="env">Environment type</param>
        /// <param name="envId">Environment ID</param>
        /// <param name="db">Database type</param>
        public void DeleteDatabase(string provider, InfraGlobal.EnvironmentTypes env, string envId, DatabaseTypes db)
        {
            CloudServiceModel   c = _CloudServices.Find(x => x.Name == provider);
            EnvironmentModel    e = c.Environments.Find(i => i.Type == env && i.ID == envId);
            DatabaseServerModel d = e.Databases.Find(i => i.DBType == db);

            d.Destroy = true;
            e.Databases.Remove(d);
            d.Dispose();
        }
        /// <summary>
        /// AddDatabase creates a new database and add it to the list _Databases
        /// </summary>
        /// <param name="provider">Name of provider</param>
        /// <param name="env">Type of environment: UAT, Staging, Production</param>
        /// <param name="db">Type of database MySQL or SQL</param>
        public void AddDatabase(string provider, InfraGlobal.EnvironmentTypes env, InfraGlobal.DatabaseTypes db)
        {
            DatabaseServerModel rdb = new DatabaseServerModel(_EnvPath, provider, env, _ID, db);

            _Databases.Add(rdb);
        }