Reuse save methods..
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
@@ -242,7 +242,7 @@ namespace Umbraco.Core.Services.Implement
|
||||
{
|
||||
// TODO: what about culture?
|
||||
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
using (var scope = ScopeProvider.CreateScope(autoComplete:true))
|
||||
{
|
||||
// locking the content tree secures content types too
|
||||
scope.WriteLock(Constants.Locks.ContentTree);
|
||||
@@ -256,21 +256,9 @@ namespace Umbraco.Core.Services.Implement
|
||||
throw new ArgumentException("No content with that id.", nameof(parentId)); // causes rollback
|
||||
|
||||
var content = parentId > 0 ? new Content(name, parent, contentType, userId) : new Content(name, parentId, contentType, userId);
|
||||
var evtMsgs = EventMessagesFactory.Get();
|
||||
|
||||
// if saving is cancelled, content remains without an identity
|
||||
var saveEventArgs = new ContentSavingEventArgs(content, evtMsgs);
|
||||
if (!scope.Events.DispatchCancelable(Saving, this, saveEventArgs, nameof(Saving)))
|
||||
{
|
||||
_documentRepository.Save(content);
|
||||
Save(content, userId);
|
||||
|
||||
scope.Events.Dispatch(Saved, this, saveEventArgs.ToContentSavedEventArgs(), nameof(Saved));
|
||||
scope.Events.Dispatch(TreeChanged, this, new TreeChange<IContent>(content, TreeChangeTypes.RefreshNode).ToEventArgs());
|
||||
|
||||
Audit(AuditType.New, content.CreatorId, content.Id, $"Content '{content.Name}' was created with Id {content.Id}");
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
return content;
|
||||
}
|
||||
}
|
||||
@@ -290,7 +278,7 @@ namespace Umbraco.Core.Services.Implement
|
||||
|
||||
if (parent == null) throw new ArgumentNullException(nameof(parent));
|
||||
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
using (var scope = ScopeProvider.CreateScope(autoComplete:true))
|
||||
{
|
||||
// locking the content tree secures content types too
|
||||
scope.WriteLock(Constants.Locks.ContentTree);
|
||||
@@ -301,21 +289,8 @@ namespace Umbraco.Core.Services.Implement
|
||||
|
||||
var content = new Content(name, parent, contentType, userId);
|
||||
|
||||
var evtMsgs = EventMessagesFactory.Get();
|
||||
Save(content, userId);
|
||||
|
||||
// if saving is cancelled, content remains without an identity
|
||||
var saveEventArgs = new ContentSavingEventArgs(content, evtMsgs);
|
||||
if (!scope.Events.DispatchCancelable(Saving, this, saveEventArgs, nameof(Saving)))
|
||||
{
|
||||
_documentRepository.Save(content);
|
||||
|
||||
scope.Events.Dispatch(Saved, this, saveEventArgs.ToContentSavedEventArgs(), nameof(Saved));
|
||||
scope.Events.Dispatch(TreeChanged, this, new TreeChange<IContent>(content, TreeChangeTypes.RefreshNode).ToEventArgs());
|
||||
|
||||
Audit(AuditType.New, content.CreatorId, content.Id, $"Content '{content.Name}' was created with Id {content.Id}");
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
return content;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@@ -219,18 +219,7 @@ namespace Umbraco.Infrastructure.Services.Implement
|
||||
|
||||
var member = new Member(name, email.ToLower().Trim(), username, passwordValue, memberType, isApproved, -1);
|
||||
|
||||
var saveEventArgs = new SaveEventArgs<IMember>(member);
|
||||
if (!scope.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
_memberRepository.Save(member);
|
||||
|
||||
saveEventArgs.CanCancel = false;
|
||||
scope.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
|
||||
Audit(AuditType.New, member.CreatorId, member.Id, $"Member '{member.Name}' was created with Id {member.Id}");
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
Save(member);
|
||||
return member;
|
||||
}
|
||||
}
|
||||
@@ -301,18 +290,7 @@ namespace Umbraco.Infrastructure.Services.Implement
|
||||
throw new ArgumentException($"Member type with alias {memberType.Alias} does not exist or is a different member type."); // causes rollback
|
||||
var member = new Member(name, email.ToLower().Trim(), username, passwordValue, memberType, isApproved, -1);
|
||||
|
||||
var saveEventArgs = new SaveEventArgs<IMember>(member);
|
||||
if (!scope.Events.DispatchCancelable(Saving, this, saveEventArgs))
|
||||
{
|
||||
_memberRepository.Save(member);
|
||||
|
||||
saveEventArgs.CanCancel = false;
|
||||
scope.Events.Dispatch(Saved, this, saveEventArgs);
|
||||
|
||||
Audit(AuditType.New, member.CreatorId, member.Id, $"Member '{member.Name}' was created with Id {member.Id}");
|
||||
}
|
||||
|
||||
scope.Complete();
|
||||
Save(member);
|
||||
return member;
|
||||
}
|
||||
}
|
||||
@@ -428,7 +406,7 @@ namespace Umbraco.Infrastructure.Services.Implement
|
||||
{
|
||||
using (var scope = ScopeProvider.CreateScope(autoComplete: true))
|
||||
{
|
||||
scope.ReadLock(Constants.Locks.MemberTree);
|
||||
scope.ReadLock(Constants.Locks.MemberTree);
|
||||
return _memberRepository.GetByUsername(username);
|
||||
}
|
||||
}
|
||||
@@ -783,7 +761,7 @@ namespace Umbraco.Infrastructure.Services.Implement
|
||||
public void SetLastLogin(string username, DateTime date)
|
||||
{
|
||||
using (var scope = ScopeProvider.CreateScope())
|
||||
{
|
||||
{
|
||||
_memberRepository.SetLastLogin(username, date);
|
||||
scope.Complete();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user