Converted all Application actions over to use XML config instead of database

This commit is contained in:
Matt@MBP-PC.Home
2012-06-27 11:27:10 -01:00
parent ff8bd9362b
commit 69b632fc6d

View File

@@ -29,6 +29,11 @@ namespace umbraco.BusinessLogic
private const string CACHE_KEY = "ApplicationCache";
private static readonly string _appConfig =
IOHelper.MapPath(SystemDirectories.Config + "/applications.config");
private static readonly object _appSyncLock = new object();
/// <summary>
/// The cache storage for all applications
/// </summary>
@@ -164,7 +169,7 @@ namespace umbraco.BusinessLogic
[MethodImpl(MethodImplOptions.Synchronized)]
public static void MakeNew(string name, string alias, string icon)
{
MakeNew(name, alias, icon, (1 + SqlHelper.ExecuteScalar<int>("SELECT MAX(sortOrder) FROM umbracoApp")));
MakeNew(name, alias, icon, Apps.Max(x => x.sortOrder) + 1);
}
/// <summary>
@@ -186,14 +191,28 @@ namespace umbraco.BusinessLogic
if (!exist)
{
SqlHelper.ExecuteNonQuery(@"
insert into umbracoApp
(appAlias,appIcon,appName, sortOrder)
values (@alias,@icon,@name,@sortOrder)",
SqlHelper.CreateParameter("@alias", alias),
SqlHelper.CreateParameter("@icon", icon),
SqlHelper.CreateParameter("@name", name),
SqlHelper.CreateParameter("@sortOrder", sortOrder));
// SqlHelper.ExecuteNonQuery(@"
// insert into umbracoApp
// (appAlias,appIcon,appName, sortOrder)
// values (@alias,@icon,@name,@sortOrder)",
// SqlHelper.CreateParameter("@alias", alias),
// SqlHelper.CreateParameter("@icon", icon),
// SqlHelper.CreateParameter("@name", name),
// SqlHelper.CreateParameter("@sortOrder", sortOrder));
lock (_appSyncLock)
{
var doc = XDocument.Load(_appConfig);
if (doc.Root != null)
{
doc.Root.Add(new XElement("add",
new XAttribute("alias", alias),
new XAttribute("name", name),
new XAttribute("icon", icon),
new XAttribute("sortOrder", sortOrder)));
}
doc.Save(_appConfig);
}
ReCache();
}
@@ -239,8 +258,18 @@ namespace umbraco.BusinessLogic
t.Delete();
}
SqlHelper.ExecuteNonQuery("delete from umbracoApp where appAlias = @appAlias",
SqlHelper.CreateParameter("@appAlias", this._alias));
//SqlHelper.ExecuteNonQuery("delete from umbracoApp where appAlias = @appAlias",
// SqlHelper.CreateParameter("@appAlias", this._alias));
lock (_appSyncLock)
{
var doc = XDocument.Load(_appConfig);
if(doc.Root != null)
{
doc.Root.Elements("add").Where(x => x.Attribute("alias") != null && x.Attribute("alias").Value == this.alias).Remove();
}
doc.Save(_appConfig);
}
ReCache();
}
@@ -313,8 +342,7 @@ namespace umbraco.BusinessLogic
// }
//}
var configPath = IOHelper.MapPath(Path.Combine(IOHelper.ResolveUrl(SystemDirectories.Config), "applications.config"));
var config = XDocument.Load(configPath);
var config = XDocument.Load(_appConfig);
if (config.Root != null)
{
foreach (var addElement in config.Root.Elements("add").OrderBy(x =>