U4-9462 - more units of work cleanup

This commit is contained in:
Stephan
2017-02-21 13:14:02 +01:00
parent 8d5f7af780
commit 4d24e7bef8
12 changed files with 44 additions and 51 deletions
+1 -1
View File
@@ -1611,7 +1611,7 @@ namespace Umbraco.Core.Services
NodeId = copy.Id, TagId = tag.TagId, PropertyTypeId = tag.PropertyTypeId
});
}
uow.Commit();
uow.Commit(); // todo - this should flush, not commit
if (recursive)
{
@@ -69,6 +69,7 @@ namespace Umbraco.Core.Services
}
catch (Exception ex)
{
uow.Commit();
return Attempt.Fail(new OperationStatus<EntityContainer, OperationStatusType>(null, OperationStatusType.FailedExceptionThrown, evtMsgs), ex);
}
}
@@ -106,6 +107,7 @@ namespace Umbraco.Core.Services
}
catch (Exception ex)
{
uow.Commit();
return Attempt.Fail(new OperationStatus<EntityContainer, OperationStatusType>(null, OperationStatusType.FailedExceptionThrown, evtMsgs), ex);
}
}
@@ -545,7 +545,10 @@ namespace Umbraco.Core.Services
using (var uow = UowProvider.GetUnitOfWork())
{
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<IDataTypeDefinition>(dataTypeDefinition)))
{
uow.Commit();
return;
}
var repository = RepositoryFactory.CreateDataTypeDefinitionRepository(uow);
@@ -33,7 +33,10 @@ namespace Umbraco.Core.Services
using (var uow = UowProvider.GetUnitOfWork())
{
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<IDomain>(domain, evtMsgs)))
{
uow.Commit();
return OperationStatus.Cancelled(evtMsgs);
}
var repository = RepositoryFactory.CreateDomainRepository(uow);
repository.Delete(domain);
@@ -90,7 +93,10 @@ namespace Umbraco.Core.Services
using (var uow = UowProvider.GetUnitOfWork())
{
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IDomain>(domainEntity, evtMsgs)))
{
uow.Commit();
return OperationStatus.Cancelled(evtMsgs);
}
var repository = RepositoryFactory.CreateDomainRepository(uow);
repository.AddOrUpdate(domainEntity);
+2 -2
View File
@@ -647,7 +647,7 @@ namespace Umbraco.Core.Services
/// <returns><see cref="UmbracoObjectTypes"/></returns>
public virtual UmbracoObjectTypes GetObjectType(int id)
{
using (var uow = UowProvider.GetUnitOfWork())
using (var uow = UowProvider.GetUnitOfWork(readOnly: true))
{
var sql = new Sql().Select("nodeObjectType").From<NodeDto>().Where<NodeDto>(x => x.NodeId == id);
var nodeObjectTypeId = uow.Database.ExecuteScalar<Guid>(sql);
@@ -663,7 +663,7 @@ namespace Umbraco.Core.Services
/// <returns><see cref="UmbracoObjectTypes"/></returns>
public virtual UmbracoObjectTypes GetObjectType(Guid key)
{
using (var uow = UowProvider.GetUnitOfWork())
using (var uow = UowProvider.GetUnitOfWork(readOnly: true))
{
var sql = new Sql().Select("nodeObjectType").From<NodeDto>().Where<NodeDto>(x => x.UniqueId == key);
var nodeObjectTypeId = uow.Database.ExecuteScalar<Guid>(sql);
+5 -5
View File
@@ -226,7 +226,7 @@ namespace Umbraco.Core.Services
/// <returns>True if Script is valid, otherwise false</returns>
public bool ValidateScript(Script script)
{
using (var uow = UowProvider.GetUnitOfWork())
using (var uow = UowProvider.GetUnitOfWork(readOnly: true))
{
var repository = RepositoryFactory.CreateScriptRepository(uow);
return repository.ValidateScript(script);
@@ -727,9 +727,9 @@ namespace Umbraco.Core.Services
public void CreatePartialViewFolder(string folderPath)
{
var uow = UowProvider.GetUnitOfWork();
using (var repository = RepositoryFactory.CreatePartialViewRepository(uow))
using (var uow = UowProvider.GetUnitOfWork())
{
var repository = RepositoryFactory.CreatePartialViewRepository(uow);
((PartialViewRepository)repository).AddFolder(folderPath);
uow.Commit();
}
@@ -737,9 +737,9 @@ namespace Umbraco.Core.Services
public void CreatePartialViewMacroFolder(string folderPath)
{
var uow = UowProvider.GetUnitOfWork();
using (var repository = RepositoryFactory.CreatePartialViewMacroRepository(uow))
using (var uow = UowProvider.GetUnitOfWork())
{
var repository = RepositoryFactory.CreatePartialViewMacroRepository(uow);
((PartialViewMacroRepository)repository).AddFolder(folderPath);
uow.Commit();
}
+3 -6
View File
@@ -1190,13 +1190,10 @@ namespace Umbraco.Core.Services
using (var uow = UowProvider.GetUnitOfWork())
{
if (raiseEvents)
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMedia>(asArray)))
{
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMedia>(asArray)))
{
uow.Commit();
return false;
}
uow.Commit();
return false;
}
var repository = RepositoryFactory.CreateMediaRepository(uow);
@@ -71,13 +71,10 @@ namespace Umbraco.Core.Services
{
using (var uow = UowProvider.GetUnitOfWork())
{
if (raiseEvents)
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMemberGroup>(memberGroup)))
{
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMemberGroup>(memberGroup)))
{
uow.Commit();
return;
}
uow.Commit();
return;
}
var repository = RepositoryFactory.CreateMemberGroupRepository(uow);
+9 -9
View File
@@ -584,10 +584,11 @@ namespace Umbraco.Core.Services
Mandate.ParameterCondition(pageIndex >= 0, "pageIndex");
Mandate.ParameterCondition(pageSize > 0, "pageSize");
var uow = UowProvider.GetUnitOfWork();
using (var repository = RepositoryFactory.CreateMemberRepository(uow))
using (var uow = UowProvider.GetUnitOfWork())
{
var repository = RepositoryFactory.CreateMemberRepository(uow);
var contents = repository.GetPagedXmlEntriesByPath("-1", pageIndex, pageSize, null, out totalRecords);
uow.Commit();
return contents;
}
}
@@ -936,6 +937,7 @@ namespace Umbraco.Core.Services
using (var uow = UowProvider.GetUnitOfWork())
{
Delete(uow, member);
uow.Commit();
}
}
@@ -1010,14 +1012,12 @@ namespace Umbraco.Core.Services
{
using (var uow = UowProvider.GetUnitOfWork())
{
if (raiseEvents)
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMember>(asArray)))
{
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMember>(asArray)))
{
uow.Commit();
return;
}
uow.Commit();
return;
}
var repository = RepositoryFactory.CreateMemberRepository(uow);
foreach (var member in asArray)
{
@@ -1057,7 +1057,7 @@ namespace Umbraco.Core.Services
public IEnumerable<string> GetAllRoles()
{
using (var uow = UowProvider.GetUnitOfWork())
using (var uow = UowProvider.GetUnitOfWork(readOnly: true))
{
var repository = RepositoryFactory.CreateMemberGroupRepository(uow);
var result = repository.GetAll();
@@ -220,7 +220,10 @@ namespace Umbraco.Core.Services
using (var uow = UowProvider.GetUnitOfWork())
{
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<PublicAccessEntry>(entry, evtMsgs)))
{
uow.Commit();
return OperationStatus.Cancelled(evtMsgs);
}
var repo = RepositoryFactory.CreatePublicAccessRepository(uow);
repo.AddOrUpdate(entry);
@@ -243,7 +246,10 @@ namespace Umbraco.Core.Services
using (var uow = UowProvider.GetUnitOfWork())
{
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<PublicAccessEntry>(entry, evtMsgs)))
{
uow.Commit();
return OperationStatus.Cancelled(evtMsgs);
}
var repo = RepositoryFactory.CreatePublicAccessRepository(uow);
repo.Delete(entry);
@@ -423,8 +423,6 @@ namespace Umbraco.Core.Services
uow.Events.Dispatch(SavedRelation, this, new SaveEventArgs<IRelation>(relation, false));
return relation;
}
}
/// <summary>
@@ -456,8 +454,6 @@ namespace Umbraco.Core.Services
uow.Events.Dispatch(SavedRelation, this, new SaveEventArgs<IRelation>(relation, false));
return relation;
}
}
/// <summary>
@@ -582,8 +578,6 @@ namespace Umbraco.Core.Services
uow.Commit();
uow.Events.Dispatch(SavedRelation, this, new SaveEventArgs<IRelation>(relation, false));
}
}
/// <summary>
@@ -604,8 +598,6 @@ namespace Umbraco.Core.Services
uow.Commit();
uow.Events.Dispatch(SavedRelationType, this, new SaveEventArgs<IRelationType>(relationType, false));
}
}
/// <summary>
@@ -625,9 +617,7 @@ namespace Umbraco.Core.Services
repository.Delete(relation);
uow.Commit();
uow.Events.Dispatch(DeletedRelation, this, new DeleteEventArgs<IRelation>(relation, false));
}
}
/// <summary>
@@ -647,9 +637,7 @@ namespace Umbraco.Core.Services
repository.Delete(relationType);
uow.Commit();
uow.Events.Dispatch(DeletedRelationType, this, new DeleteEventArgs<IRelationType>(relationType, false));
}
}
/// <summary>
@@ -671,9 +659,7 @@ namespace Umbraco.Core.Services
}
uow.Commit();
uow.Events.Dispatch(DeletedRelation, this, new DeleteEventArgs<IRelation>(relations, false));
}
}
#region Private Methods
+4 -8
View File
@@ -303,9 +303,7 @@ namespace Umbraco.Core.Services
repository.Delete(user);
uow.Commit();
uow.Events.Dispatch(DeletedUser, this, new DeleteEventArgs<IUser>(user, false));
}
}
}
@@ -701,14 +699,12 @@ namespace Umbraco.Core.Services
{
using (var uow = UowProvider.GetUnitOfWork())
{
if (raiseEvents)
if (raiseEvents && uow.Events.DispatchCancelable(SavingUserType, this, new SaveEventArgs<IUserType>(userType)))
{
if (uow.Events.DispatchCancelable(SavingUserType, this, new SaveEventArgs<IUserType>(userType)))
{
uow.Commit();
return;
}
uow.Commit();
return;
}
var repository = RepositoryFactory.CreateUserTypeRepository(uow);
repository.AddOrUpdate(userType);
uow.Commit();