Files
OurUmbraco/uForum/EventHandlers/MemberApprovedEventhandler.cs
T
2015-06-24 17:01:23 +02:00

33 lines
1.3 KiB
C#

using System.Linq;
using Umbraco.Core;
using Umbraco.Core.Events;
using Umbraco.Core.Models;
using Umbraco.Core.Services;
using Umbraco.Web;
namespace uForum.EventHandlers
{
public class MemberApprovedEventhandler : ApplicationEventHandler
{
protected override void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
MemberService.Saving += SetIsApproved;
}
static void SetIsApproved(IMemberService sender, SaveEventArgs<IMember> e)
{
// Automatically approve all members, as we don't have an approval process now
// This is needed as we added new membership after upgrading so IsApproved is
// currently empty. First time a member gets saved now (login also saves the member)
// IsApproved would turn false (default value of bool) so we want to prevent that
var nonApprovedMembers = e.SavedEntities.Where(member => member.Properties.Contains(Constants.Conventions.Member.IsApproved) && member.IsApproved == false);
var memberService = UmbracoContext.Current.Application.Services.MemberService;
foreach (var member in nonApprovedMembers)
{
member.IsApproved = true;
memberService.Save(member, false);
}
}
}
}