Updates more services to only have one event arg instance per event pair to flow through EventState
This commit is contained in:
@@ -312,7 +312,9 @@ namespace Umbraco.Core.Services
|
||||
var moveInfo = new List<MoveEventInfo<IDataTypeDefinition>>();
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Moving, this, new MoveEventArgs<IDataTypeDefinition>(evtMsgs, new MoveEventInfo<IDataTypeDefinition>(toMove, toMove.Path, parentId))))
|
||||
var moveEventInfo = new MoveEventInfo<IDataTypeDefinition>(toMove, toMove.Path, parentId);
|
||||
var moveEventArgs = new MoveEventArgs<IDataTypeDefinition>(evtMsgs, moveEventInfo);
|
||||
if (uow.Events.DispatchCancelable(Moving, this, moveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return Attempt.Fail(new OperationStatus<MoveOperationStatusType>(MoveOperationStatusType.FailedCancelledByEvent, evtMsgs));
|
||||
@@ -338,7 +340,9 @@ namespace Umbraco.Core.Services
|
||||
new OperationStatus<MoveOperationStatusType>(ex.Operation, evtMsgs));
|
||||
}
|
||||
uow.Commit();
|
||||
uow.Events.Dispatch(Moved, this, new MoveEventArgs<IDataTypeDefinition>(false, evtMsgs, moveInfo.ToArray()));
|
||||
moveEventArgs.MoveInfoCollection = moveInfo;
|
||||
moveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Moved, this, moveEventArgs);
|
||||
}
|
||||
|
||||
return Attempt.Succeed(
|
||||
@@ -354,7 +358,8 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinition)))
|
||||
var saveEventArgs = new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinition);
|
||||
if (uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -369,8 +374,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
dataTypeDefinition.CreatorId = userId;
|
||||
repository.AddOrUpdate(dataTypeDefinition);
|
||||
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinition, false));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Save, "Save DataTypeDefinition performed by user", userId, dataTypeDefinition.Id);
|
||||
uow.Commit();
|
||||
@@ -397,9 +402,10 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
var saveEventArgs = new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinitions);
|
||||
if (raiseEvents)
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinitions)))
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -415,7 +421,10 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
|
||||
if (raiseEvents)
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinitions, false));
|
||||
{
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
}
|
||||
|
||||
Audit(uow, AuditType.Save, string.Format("Save DataTypeDefinition performed by user"), userId, -1);
|
||||
uow.Commit();
|
||||
@@ -504,7 +513,8 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinition)))
|
||||
var saveEventArgs = new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinition);
|
||||
if (uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -526,8 +536,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
Audit(uow, AuditType.Save, string.Format("Save DataTypeDefinition performed by user"), userId, dataTypeDefinition.Id);
|
||||
uow.Commit();
|
||||
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IDataTypeDefinition>(dataTypeDefinition, false));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -544,7 +554,8 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<IDataTypeDefinition>(dataTypeDefinition)))
|
||||
var deleteEventArgs = new DeleteEventArgs<IDataTypeDefinition>(dataTypeDefinition);
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, deleteEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -556,8 +567,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
Audit(uow, AuditType.Delete, "Delete DataTypeDefinition performed by user", userId, dataTypeDefinition.Id);
|
||||
uow.Commit();
|
||||
|
||||
uow.Events.Dispatch(Deleted, this, new DeleteEventArgs<IDataTypeDefinition>(dataTypeDefinition, false));
|
||||
deleteEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Deleted, this, deleteEventArgs);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<IDomain>(domain, evtMsgs)))
|
||||
var deleteEventArgs = new DeleteEventArgs<IDomain>(domain, evtMsgs);
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, deleteEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return OperationStatus.Cancelled(evtMsgs);
|
||||
@@ -42,8 +43,8 @@ namespace Umbraco.Core.Services
|
||||
repository.Delete(domain);
|
||||
uow.Commit();
|
||||
|
||||
var args = new DeleteEventArgs<IDomain>(domain, false, evtMsgs);
|
||||
uow.Events.Dispatch(Deleted, this, args);
|
||||
deleteEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Deleted, this, deleteEventArgs);
|
||||
return OperationStatus.Success(evtMsgs);
|
||||
}
|
||||
|
||||
@@ -92,7 +93,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IDomain>(domainEntity, evtMsgs)))
|
||||
var saveEventArgs = new SaveEventArgs<IDomain>(domainEntity, evtMsgs);
|
||||
if (uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return OperationStatus.Cancelled(evtMsgs);
|
||||
@@ -101,7 +103,8 @@ namespace Umbraco.Core.Services
|
||||
var repository = RepositoryFactory.CreateDomainRepository(uow);
|
||||
repository.AddOrUpdate(domainEntity);
|
||||
uow.Commit();
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IDomain>(domainEntity, false, evtMsgs));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
return OperationStatus.Success(evtMsgs);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,8 @@ namespace Umbraco.Core.Services
|
||||
item.Translations = translations;
|
||||
}
|
||||
|
||||
if (uow.Events.DispatchCancelable(SavingDictionaryItem, this, new SaveEventArgs<IDictionaryItem>(item)))
|
||||
var saveEventArgs = new SaveEventArgs<IDictionaryItem>(item);
|
||||
if (uow.Events.DispatchCancelable(SavingDictionaryItem, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return item;
|
||||
@@ -90,8 +91,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
//ensure the lazy Language callback is assigned
|
||||
EnsureDictionaryItemLanguageCallback(item);
|
||||
|
||||
uow.Events.Dispatch(SavedDictionaryItem, this, new SaveEventArgs<IDictionaryItem>(item));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(SavedDictionaryItem, this, saveEventArgs);
|
||||
|
||||
return item;
|
||||
}
|
||||
@@ -256,7 +257,8 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(DeletingDictionaryItem, this, new DeleteEventArgs<IDictionaryItem>(dictionaryItem)))
|
||||
var deleteEventArgs = new DeleteEventArgs<IDictionaryItem>(dictionaryItem);
|
||||
if (uow.Events.DispatchCancelable(DeletingDictionaryItem, this, deleteEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -264,8 +266,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
var repository = RepositoryFactory.CreateDictionaryRepository(uow);
|
||||
repository.Delete(dictionaryItem);
|
||||
|
||||
uow.Events.Dispatch(DeletedDictionaryItem, this, new DeleteEventArgs<IDictionaryItem>(dictionaryItem, false));
|
||||
deleteEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(DeletedDictionaryItem, this, deleteEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Delete, "Delete DictionaryItem performed by user", userId, dictionaryItem.Id);
|
||||
uow.Commit();
|
||||
@@ -336,15 +338,16 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(SavingLanguage, this, new SaveEventArgs<ILanguage>(language)))
|
||||
var saveEventArgs = new SaveEventArgs<ILanguage>(language);
|
||||
if (uow.Events.DispatchCancelable(SavingLanguage, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
}
|
||||
var repository = RepositoryFactory.CreateLanguageRepository(uow);
|
||||
repository.AddOrUpdate(language);
|
||||
|
||||
uow.Events.Dispatch(SavedLanguage, this, new SaveEventArgs<ILanguage>(language, false));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(SavedLanguage, this, saveEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Save, "Save Language performed by user", userId, language.Id);
|
||||
uow.Commit();
|
||||
@@ -360,7 +363,8 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(DeletingLanguage, this, new DeleteEventArgs<ILanguage>(language)))
|
||||
var deleteEventArgs = new DeleteEventArgs<ILanguage>(language);
|
||||
if (uow.Events.DispatchCancelable(DeletingLanguage, this, deleteEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -369,7 +373,8 @@ namespace Umbraco.Core.Services
|
||||
var repository = RepositoryFactory.CreateLanguageRepository(uow);
|
||||
repository.Delete(language);
|
||||
|
||||
uow.Events.Dispatch(DeletedLanguage, this, new DeleteEventArgs<ILanguage>(language, false));
|
||||
deleteEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(DeletedLanguage, this, deleteEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Delete, "Delete Language performed by user", userId, language.Id);
|
||||
uow.Commit();
|
||||
|
||||
@@ -144,15 +144,16 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<IMacro>(macro)))
|
||||
var deleteEventArgs = new DeleteEventArgs<IMacro>(macro);
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, deleteEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
}
|
||||
var repository = RepositoryFactory.CreateMacroRepository(uow);
|
||||
repository.Delete(macro);
|
||||
|
||||
uow.Events.Dispatch(Deleted, this, new DeleteEventArgs<IMacro>(macro, false));
|
||||
deleteEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Deleted, this, deleteEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Delete, "Delete Macro performed by user", userId, -1);
|
||||
uow.Commit();
|
||||
@@ -168,7 +169,8 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMacro>(macro)))
|
||||
var saveEventArgs = new SaveEventArgs<IMacro>(macro);
|
||||
if (uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -181,8 +183,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
var repository = RepositoryFactory.CreateMacroRepository(uow);
|
||||
repository.AddOrUpdate(macro);
|
||||
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IMacro>(macro, false));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Save, "Save Macro performed by user", userId, -1);
|
||||
uow.Commit();
|
||||
|
||||
@@ -70,7 +70,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Creating, this, new NewEventArgs<IMedia>(media, mediaTypeAlias, parentId)))
|
||||
var newEventArgs = new NewEventArgs<IMedia>(media, mediaTypeAlias, parentId);
|
||||
if (uow.Events.DispatchCancelable(Creating, this, newEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
media.WasCancelled = true;
|
||||
@@ -78,7 +79,8 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
|
||||
media.CreatorId = userId;
|
||||
uow.Events.Dispatch(Created, this, new NewEventArgs<IMedia>(media, false, mediaTypeAlias, parentId));
|
||||
newEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Created, this, newEventArgs);
|
||||
Audit(uow, AuditType.New, string.Format("Media '{0}' was created", name), media.CreatorId, media.Id);
|
||||
uow.Commit();
|
||||
|
||||
@@ -110,7 +112,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Creating, this, new NewEventArgs<IMedia>(media, mediaTypeAlias, parent)))
|
||||
var newEventArgs = new NewEventArgs<IMedia>(media, mediaTypeAlias, parent);
|
||||
if (uow.Events.DispatchCancelable(Creating, this, newEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
media.WasCancelled = true;
|
||||
@@ -118,8 +121,8 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
|
||||
media.CreatorId = userId;
|
||||
|
||||
uow.Events.Dispatch(Created, this, new NewEventArgs<IMedia>(media, false, mediaTypeAlias, parent));
|
||||
newEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Created, this, newEventArgs);
|
||||
|
||||
Audit(uow, AuditType.New, string.Format("Media '{0}' was created", name), media.CreatorId, media.Id);
|
||||
uow.Commit();
|
||||
@@ -150,14 +153,16 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
//NOTE: I really hate the notion of these Creating/Created events - they are so inconsistent, I've only just found
|
||||
// out that in these 'WithIdentity' methods, the Saving/Saved events were not fired, wtf. Anyways, they're added now.
|
||||
if (uow.Events.DispatchCancelable(Creating, this, new NewEventArgs<IMedia>(media, mediaTypeAlias, parentId)))
|
||||
var newEventArgs = new NewEventArgs<IMedia>(media, mediaTypeAlias, parentId);
|
||||
if (uow.Events.DispatchCancelable(Creating, this, newEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
media.WasCancelled = true;
|
||||
return media;
|
||||
}
|
||||
|
||||
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMedia>(media)))
|
||||
var saveEventArgs = new SaveEventArgs<IMedia>(media);
|
||||
if (uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
media.WasCancelled = true;
|
||||
@@ -174,8 +179,10 @@ namespace Umbraco.Core.Services
|
||||
repository.AddOrUpdatePreviewXml(media, m => _entitySerializer.Serialize(this, _dataTypeService, _userService, m));
|
||||
}
|
||||
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IMedia>(media, false));
|
||||
uow.Events.Dispatch(Created, this, new NewEventArgs<IMedia>(media, false, mediaTypeAlias, parentId));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
newEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Created, this, newEventArgs);
|
||||
|
||||
Audit(uow, AuditType.New, string.Format("Media '{0}' was created with Id {1}", name, media.Id), media.CreatorId, media.Id);
|
||||
uow.Commit();
|
||||
@@ -208,14 +215,16 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
//NOTE: I really hate the notion of these Creating/Created events - they are so inconsistent, I've only just found
|
||||
// out that in these 'WithIdentity' methods, the Saving/Saved events were not fired, wtf. Anyways, they're added now.
|
||||
if (uow.Events.DispatchCancelable(Creating, this, new NewEventArgs<IMedia>(media, mediaTypeAlias, parent)))
|
||||
var newEventArgs = new NewEventArgs<IMedia>(media, mediaTypeAlias, parent);
|
||||
if (uow.Events.DispatchCancelable(Creating, this, newEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
media.WasCancelled = true;
|
||||
return media;
|
||||
}
|
||||
|
||||
if (uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMedia>(media)))
|
||||
var saveEventArgs = new SaveEventArgs<IMedia>(media);
|
||||
if (uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
media.WasCancelled = true;
|
||||
@@ -232,8 +241,10 @@ namespace Umbraco.Core.Services
|
||||
repository.AddOrUpdatePreviewXml(media, m => _entitySerializer.Serialize(this, _dataTypeService, _userService, m));
|
||||
}
|
||||
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IMedia>(media, false));
|
||||
uow.Events.Dispatch(Created, this, new NewEventArgs<IMedia>(media, false, mediaTypeAlias, parent));
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
newEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Created, this, newEventArgs);
|
||||
|
||||
Audit(uow, AuditType.New, string.Format("Media '{0}' was created with Id {1}", name, media.Id), media.CreatorId, media.Id);
|
||||
uow.Commit();
|
||||
@@ -786,7 +797,9 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
var originalPath = media.Path;
|
||||
|
||||
if (uow.Events.DispatchCancelable(Moving, this, new MoveEventArgs<IMedia>(new MoveEventInfo<IMedia>(media, originalPath, parentId)), "Moving"))
|
||||
var moveEventInfo = new MoveEventInfo<IMedia>(media, originalPath, parentId);
|
||||
var moveEventArgs = new MoveEventArgs<IMedia>(moveEventInfo);
|
||||
if (uow.Events.DispatchCancelable(Moving, this, moveEventArgs, "Moving"))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -802,7 +815,7 @@ namespace Umbraco.Core.Services
|
||||
//used to track all the moved entities to be given to the event
|
||||
var moveInfo = new List<MoveEventInfo<IMedia>>
|
||||
{
|
||||
new MoveEventInfo<IMedia>(media, originalPath, parentId)
|
||||
moveEventInfo
|
||||
};
|
||||
|
||||
//Ensure that relevant properties are updated on children
|
||||
@@ -816,7 +829,9 @@ namespace Umbraco.Core.Services
|
||||
Save(updatedDescendants, userId, false); //no events!
|
||||
}
|
||||
|
||||
uow.Events.Dispatch(Moved, this, new MoveEventArgs<IMedia>(false, moveInfo.ToArray()), "Moved");
|
||||
moveEventArgs.MoveInfoCollection = moveInfo;
|
||||
moveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Moved, this, moveEventArgs, "Moved");
|
||||
|
||||
Audit(uow, AuditType.Move, "Move Media performed by user", userId, media.Id);
|
||||
uow.Commit();
|
||||
@@ -858,7 +873,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
private Attempt<OperationStatus> DeleteUow(IScopeUnitOfWork uow, IMedia media, int userId, EventMessages evtMsgs)
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<IMedia>(media, evtMsgs)))
|
||||
var deleteEventArgs = new DeleteEventArgs<IMedia>(media, evtMsgs);
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, deleteEventArgs))
|
||||
{
|
||||
return OperationStatus.Cancelled(evtMsgs);
|
||||
}
|
||||
@@ -872,9 +888,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
var repository = RepositoryFactory.CreateMediaRepository(uow);
|
||||
repository.Delete(media);
|
||||
|
||||
var args = new DeleteEventArgs<IMedia>(media, false, evtMsgs);
|
||||
uow.Events.Dispatch(Deleted, this, args);
|
||||
deleteEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Deleted, this, deleteEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Delete, "Delete Media performed by user", userId, media.Id);
|
||||
|
||||
@@ -893,7 +908,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMedia>(media, evtMsgs)))
|
||||
var saveEventArgs = new SaveEventArgs<IMedia>(media, evtMsgs);
|
||||
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return OperationStatus.Cancelled(evtMsgs);
|
||||
@@ -921,7 +937,10 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
|
||||
if (raiseEvents)
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IMedia>(media, false, evtMsgs));
|
||||
{
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
}
|
||||
|
||||
Audit(uow, AuditType.Save, "Save Media performed by user", userId, media.Id);
|
||||
uow.Commit();
|
||||
@@ -943,7 +962,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMedia>(asArray, evtMsgs)))
|
||||
var saveEventArgs = new SaveEventArgs<IMedia>(asArray, evtMsgs);
|
||||
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return OperationStatus.Cancelled(evtMsgs);
|
||||
@@ -963,7 +983,10 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
|
||||
if (raiseEvents)
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IMedia>(asArray, false, evtMsgs));
|
||||
{
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
}
|
||||
|
||||
Audit(uow, AuditType.Save, "Save Media items performed by user", userId, -1);
|
||||
uow.Commit();
|
||||
@@ -988,15 +1011,17 @@ namespace Umbraco.Core.Services
|
||||
|
||||
var files = ((MediaRepository)repository).GetFilesInRecycleBinForUploadField();
|
||||
|
||||
if (uow.Events.DispatchCancelable(EmptyingRecycleBin, this, new RecycleBinEventArgs(nodeObjectType, entities, files)))
|
||||
var recycleBinEventArgs = new RecycleBinEventArgs(nodeObjectType, entities, files);
|
||||
if (uow.Events.DispatchCancelable(EmptyingRecycleBin, this, recycleBinEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
}
|
||||
|
||||
var success = repository.EmptyRecycleBin();
|
||||
|
||||
uow.Events.Dispatch(EmptiedRecycleBin, this, new RecycleBinEventArgs(nodeObjectType, entities, files, success));
|
||||
recycleBinEventArgs.CanCancel = false;
|
||||
recycleBinEventArgs.RecycleBinEmptiedSuccessfully = success;
|
||||
uow.Events.Dispatch(EmptiedRecycleBin, this, recycleBinEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Delete, "Empty Media Recycle Bin performed by user", 0, -21);
|
||||
uow.Commit();
|
||||
@@ -1022,7 +1047,8 @@ namespace Umbraco.Core.Services
|
||||
IDictionary<string, IMedia> rootItems;
|
||||
var mediaToDelete = this.TrackDeletionsForDeleteContentOfTypes(mediaTypeIds, repository, out rootItems).ToArray();
|
||||
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, new DeleteEventArgs<IMedia>(mediaToDelete), "Deleting"))
|
||||
var deleteEventArgs = new DeleteEventArgs<IMedia>(mediaToDelete);
|
||||
if (uow.Events.DispatchCancelable(Deleting, this, deleteEventArgs, "Deleting"))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -1094,14 +1120,16 @@ namespace Umbraco.Core.Services
|
||||
//see: http://issues.umbraco.org/issue/U4-9336
|
||||
media.EnsureValidPath(Logger, entity => GetById(entity.ParentId), QuickUpdate);
|
||||
var originalPath = media.Path;
|
||||
if (uow.Events.DispatchCancelable(Trashing, this, new MoveEventArgs<IMedia>(new MoveEventInfo<IMedia>(media, originalPath, Constants.System.RecycleBinMedia)), "Trashing"))
|
||||
var moveEventInfo = new MoveEventInfo<IMedia>(media, originalPath, Constants.System.RecycleBinMedia);
|
||||
var moveEventArgs = new MoveEventArgs<IMedia>(moveEventInfo);
|
||||
if (uow.Events.DispatchCancelable(Trashing, this, moveEventArgs, "Trashing"))
|
||||
{
|
||||
uow.Commit();
|
||||
return OperationStatus.Cancelled(evtMsgs);
|
||||
}
|
||||
var moveInfo = new List<MoveEventInfo<IMedia>>
|
||||
{
|
||||
new MoveEventInfo<IMedia>(media, originalPath, Constants.System.RecycleBinMedia)
|
||||
moveEventInfo
|
||||
};
|
||||
|
||||
//get descendents to process of the content item that is being moved to trash - must be done before changing the state below,
|
||||
@@ -1124,7 +1152,9 @@ namespace Umbraco.Core.Services
|
||||
moveInfo.Add(new MoveEventInfo<IMedia>(descendant, descendant.Path, descendant.ParentId));
|
||||
}
|
||||
|
||||
uow.Events.Dispatch(Trashed, this, new MoveEventArgs<IMedia>(false, evtMsgs, moveInfo.ToArray()), "Trashed");
|
||||
moveEventArgs.MoveInfoCollection = moveInfo;
|
||||
moveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Trashed, this, moveEventArgs, "Trashed");
|
||||
|
||||
Audit(uow, AuditType.Move, "Move Media to Recycle Bin performed by user", userId, media.Id);
|
||||
uow.Commit();
|
||||
@@ -1167,12 +1197,14 @@ namespace Umbraco.Core.Services
|
||||
|
||||
private void DeleteVersions(IScopeUnitOfWork uow, int id, DateTime versionDate, int userId = 0)
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(DeletingVersions, this, new DeleteRevisionsEventArgs(id, dateToRetain: versionDate)))
|
||||
var deleteRevisionsEventArgs = new DeleteRevisionsEventArgs(id, dateToRetain: versionDate);
|
||||
if (uow.Events.DispatchCancelable(DeletingVersions, this, deleteRevisionsEventArgs))
|
||||
return;
|
||||
|
||||
var repository = RepositoryFactory.CreateMediaRepository(uow);
|
||||
repository.DeleteVersions(id, versionDate);
|
||||
uow.Events.Dispatch(DeletedVersions, this, new DeleteRevisionsEventArgs(id, false, dateToRetain: versionDate));
|
||||
deleteRevisionsEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(DeletedVersions, this, deleteRevisionsEventArgs);
|
||||
Audit(uow, AuditType.Delete, "Delete Media by version date performed by user", userId, -1);
|
||||
}
|
||||
|
||||
@@ -1188,7 +1220,8 @@ namespace Umbraco.Core.Services
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (uow.Events.DispatchCancelable(DeletingVersions, this, new DeleteRevisionsEventArgs(id, specificVersion: versionId)))
|
||||
var deleteRevisionsEventArgs = new DeleteRevisionsEventArgs(id, specificVersion: versionId);
|
||||
if (uow.Events.DispatchCancelable(DeletingVersions, this, deleteRevisionsEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return;
|
||||
@@ -1202,8 +1235,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
var repository = RepositoryFactory.CreateMediaRepository(uow);
|
||||
repository.DeleteVersion(versionId);
|
||||
|
||||
uow.Events.Dispatch(DeletedVersions, this, new DeleteRevisionsEventArgs(id, false, specificVersion: versionId));
|
||||
deleteRevisionsEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(DeletedVersions, this, deleteRevisionsEventArgs);
|
||||
|
||||
Audit(uow, AuditType.Delete, "Delete Media by version performed by user", userId, -1);
|
||||
uow.Commit();
|
||||
@@ -1246,7 +1279,8 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, new SaveEventArgs<IMedia>(asArray)))
|
||||
var saveEventArgs = new SaveEventArgs<IMedia>(asArray);
|
||||
if (raiseEvents && uow.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
uow.Commit();
|
||||
return false;
|
||||
@@ -1278,7 +1312,10 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
|
||||
if (raiseEvents)
|
||||
uow.Events.Dispatch(Saved, this, new SaveEventArgs<IMedia>(asArray, false));
|
||||
{
|
||||
saveEventArgs.CanCancel = false;
|
||||
uow.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
}
|
||||
|
||||
Audit(uow, AuditType.Sort, "Sorting Media performed by user", userId, 0);
|
||||
uow.Commit();
|
||||
|
||||
Reference in New Issue
Block a user