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