diff --git a/src/umbraco.cms/businesslogic/language/Language.cs b/src/umbraco.cms/businesslogic/language/Language.cs
index 0618b9d7d4..61cd99e2f2 100644
--- a/src/umbraco.cms/businesslogic/language/Language.cs
+++ b/src/umbraco.cms/businesslogic/language/Language.cs
@@ -6,6 +6,8 @@ using System.Xml;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Logging;
+using Umbraco.Core.Models.Rdbms;
+
using umbraco.DataLayer;
using umbraco.BusinessLogic;
using System.Linq;
@@ -37,13 +39,13 @@ namespace umbraco.cms.businesslogic.language
/// Gets the SQL helper.
///
/// The SQL helper.
+ [Obsolete("Obsolete, For querying the database use the new UmbracoDatabase object ApplicationContext.Current.DatabaseContext.Database", false)]
protected static ISqlHelper SqlHelper
{
get { return Application.SqlHelper; }
}
- protected internal const string m_SQLOptimizedGetAll = @"select * from umbracoLanguage";
-
+
#endregion
#region Constructors
@@ -86,24 +88,11 @@ namespace umbraco.cms.businesslogic.language
if (culture != null)
{
//insert it
- SqlHelper.ExecuteNonQuery(
- "insert into umbracoLanguage (languageISOCode) values (@CultureCode)",
- SqlHelper.CreateParameter("@CultureCode", cultureCode));
-
- //get it's id
- var newId = SqlHelper.ExecuteScalar("SELECT MAX(id) FROM umbracoLanguage WHERE languageISOCode=@cultureCode", SqlHelper.CreateParameter("@cultureCode", cultureCode));
-
- //load it and raise events
- using (var dr = SqlHelper.ExecuteReader(string.Format("{0} where id = {1}", m_SQLOptimizedGetAll, newId)))
- {
- while (dr.Read())
- {
-
- var ct = new Language();
- ct.PopulateFromReader(dr);
- ct.OnNew(new NewEventArgs());
- }
- }
+ var newId = ApplicationContext.Current.DatabaseContext.Database.Insert(new LanguageDto { IsoCode = cultureCode });
+ var ct = new Language { _id = Convert.ToInt32(newId), _cultureAlias = cultureCode };
+ ct.UpdateNames();
+ ct.OnNew(new NewEventArgs());
+
}
}
}
@@ -135,20 +124,19 @@ namespace umbraco.cms.businesslogic.language
() =>
{
var languages = new List();
- using (var dr = SqlHelper.ExecuteReader(m_SQLOptimizedGetAll))
+ var dtos = ApplicationContext.Current.DatabaseContext.Database.Fetch("");
+ foreach (var dto in dtos)
{
- while (dr.Read())
- {
- //create the ContentType object without setting up
- var ct = new Language();
- ct.PopulateFromReader(dr);
- languages.Add(ct);
- }
+ var ct = new Language {_id = dto.Id, _cultureAlias = dto.IsoCode};
+ ct.UpdateNames();
+ languages.Add(ct);
}
return languages;
});
}
+
+
///
/// Gets the language by its culture code, if no language is found, null is returned
///
@@ -209,9 +197,11 @@ namespace umbraco.cms.businesslogic.language
set
{
_cultureAlias = value;
- SqlHelper.ExecuteNonQuery(
- "update umbracoLanguage set languageISOCode = @cultureAlias where id = @id", SqlHelper.CreateParameter("@id", id),
- SqlHelper.CreateParameter("@cultureAlias", _cultureAlias));
+ ApplicationContext.Current.DatabaseContext.Database.Update(
+ "set languageISOCode = @cultureAlias where id = @id",
+ new { cultureAlias = _cultureAlias,id=id}
+ );
+
UpdateNames();
}
}
@@ -277,10 +267,9 @@ namespace umbraco.cms.businesslogic.language
{
lock (Locker)
{
- if (SqlHelper.ExecuteScalar("SELECT count(id) FROM umbracoDomains where domainDefaultLanguage = @id",
- SqlHelper.CreateParameter("@id", id)) == 0)
- {
+ if (ApplicationContext.Current.DatabaseContext.Database.ExecuteScalar("SELECT count(id) FROM umbracoDomains where domainDefaultLanguage = @id", new { id = id }) == 0)
+ {
var e = new DeleteEventArgs();
FireBeforeDelete(e);
@@ -289,9 +278,8 @@ namespace umbraco.cms.businesslogic.language
//remove the dictionary entries first
Item.RemoveByLanguage(id);
- SqlHelper.ExecuteNonQuery("delete from umbracoLanguage where id = @id",
- SqlHelper.CreateParameter("@id", id));
-
+ ApplicationContext.Current.DatabaseContext.Database.Delete("where id = @id",
+ new {id = id});
FireAfterDelete(e);
}
}
@@ -328,7 +316,8 @@ namespace umbraco.cms.businesslogic.language
_cultureAlias = dr.GetString("languageISOCode");
UpdateNames();
- }
+ }
+
#endregion
#region Private methods