Moving events out of the repository scope.

Adding Get Language by Iso Code method
This commit is contained in:
Morten Christensen
2014-01-10 14:48:31 +01:00
parent db849c1e36
commit b33a265ea4
2 changed files with 36 additions and 13 deletions

View File

@@ -81,9 +81,16 @@ namespace Umbraco.Core.Services
/// <summary>
/// Gets a <see cref="ILanguage"/> by its culture code
/// </summary>
/// <param name="culture">Culture Code</param>
/// <param name="cultureName">Culture Code - also refered to as the Friendly name</param>
/// <returns><see cref="ILanguage"/></returns>
ILanguage GetLanguageByCultureCode(string culture);
ILanguage GetLanguageByCultureCode(string cultureName);
/// <summary>
/// Gets a <see cref="Language"/> by its iso code
/// </summary>
/// <param name="isoCode">Iso Code of the language (ie. en-US)</param>
/// <returns><see cref="Language"/></returns>
ILanguage GetLanguageByIsoCode(string isoCode);
/// <summary>
/// Gets all available languages

View File

@@ -146,10 +146,10 @@ namespace Umbraco.Core.Services
{
repository.AddOrUpdate(dictionaryItem);
uow.Commit();
SavedDictionaryItem.RaiseEvent(new SaveEventArgs<IDictionaryItem>(dictionaryItem, false), this);
}
SavedDictionaryItem.RaiseEvent(new SaveEventArgs<IDictionaryItem>(dictionaryItem, false), this);
Audit.Add(AuditTypes.Save, "Save DictionaryItem performed by user", userId, dictionaryItem.Id);
}
@@ -170,10 +170,10 @@ namespace Umbraco.Core.Services
//NOTE: The recursive delete is done in the repository
repository.Delete(dictionaryItem);
uow.Commit();
DeletedDictionaryItem.RaiseEvent(new DeleteEventArgs<IDictionaryItem>(dictionaryItem, false), this);
}
DeletedDictionaryItem.RaiseEvent(new DeleteEventArgs<IDictionaryItem>(dictionaryItem, false), this);
Audit.Add(AuditTypes.Delete, "Delete DictionaryItem performed by user", userId, dictionaryItem.Id);
}
@@ -193,13 +193,29 @@ namespace Umbraco.Core.Services
/// <summary>
/// Gets a <see cref="Language"/> by its culture code
/// </summary>
/// <param name="culture">Culture Code</param>
/// <param name="cultureName">Culture Name - also refered to as the Friendly name</param>
/// <returns><see cref="Language"/></returns>
public ILanguage GetLanguageByCultureCode(string culture)
public ILanguage GetLanguageByCultureCode(string cultureName)
{
using (var repository = _repositoryFactory.CreateLanguageRepository(_uowProvider.GetUnitOfWork()))
{
var query = Query<ILanguage>.Builder.Where(x => x.CultureName == culture);
var query = Query<ILanguage>.Builder.Where(x => x.CultureName == cultureName);
var items = repository.GetByQuery(query);
return items.FirstOrDefault();
}
}
/// <summary>
/// Gets a <see cref="Language"/> by its iso code
/// </summary>
/// <param name="isoCode">Iso Code of the language (ie. en-US)</param>
/// <returns><see cref="Language"/></returns>
public ILanguage GetLanguageByIsoCode(string isoCode)
{
using (var repository = _repositoryFactory.CreateLanguageRepository(_uowProvider.GetUnitOfWork()))
{
var query = Query<ILanguage>.Builder.Where(x => x.IsoCode == isoCode);
var items = repository.GetByQuery(query);
return items.FirstOrDefault();
@@ -234,10 +250,10 @@ namespace Umbraco.Core.Services
{
repository.AddOrUpdate(language);
uow.Commit();
SavedLanguage.RaiseEvent(new SaveEventArgs<ILanguage>(language, false), this);
}
SavedLanguage.RaiseEvent(new SaveEventArgs<ILanguage>(language, false), this);
Audit.Add(AuditTypes.Save, "Save Language performed by user", userId, language.Id);
}
@@ -257,10 +273,10 @@ namespace Umbraco.Core.Services
//NOTE: There isn't any constraints in the db, so possible references aren't deleted
repository.Delete(language);
uow.Commit();
DeletedLanguage.RaiseEvent(new DeleteEventArgs<ILanguage>(language, false), this);
}
DeletedLanguage.RaiseEvent(new DeleteEventArgs<ILanguage>(language, false), this);
Audit.Add(AuditTypes.Delete, "Delete Language performed by user", userId, language.Id);
}