Merge pull request #118 from darrenferguson/6.2.0
Adding new Memership provider implementation
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
namespace Umbraco.Core.Services
|
||||
using Umbraco.Core.Models.Membership;
|
||||
|
||||
namespace Umbraco.Core.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines the MemberService, which is an easy access to operations involving (umbraco) members.
|
||||
@@ -15,5 +17,17 @@
|
||||
/// Idea is to have this is an isolated interface so that it can be easily 'replaced' in the membership provider impl.
|
||||
/// </remarks>
|
||||
internal interface IMembershipMemberService : IService
|
||||
{}
|
||||
{
|
||||
IMembershipUser CreateMember(string username, string email, string password, string memberType, int userId = 0);
|
||||
|
||||
IMembershipUser GetByUsername(string login);
|
||||
|
||||
IMembershipUser GetByEmail(string email);
|
||||
|
||||
IMembershipUser GetById(object id);
|
||||
|
||||
void Delete(IMembershipUser membershipUser);
|
||||
|
||||
void Save(IMembershipUser membershipUser);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Persistence.Querying;
|
||||
using Umbraco.Core.Persistence.UnitOfWork;
|
||||
using System.Linq;
|
||||
|
||||
namespace Umbraco.Core.Services
|
||||
{
|
||||
@@ -26,5 +29,70 @@ namespace Umbraco.Core.Services
|
||||
_repositoryFactory = repositoryFactory;
|
||||
_uowProvider = provider;
|
||||
}
|
||||
|
||||
public IMembershipUser CreateMember(string username, string email, string password, string memberType, int userId = 0)
|
||||
{
|
||||
var uow = _uowProvider.GetUnitOfWork();
|
||||
|
||||
var member = new Member();
|
||||
|
||||
using (var repository = _repositoryFactory.CreateMemberRepository(uow))
|
||||
{
|
||||
member.Username = username;
|
||||
member.Email = email;
|
||||
member.Password = password;
|
||||
|
||||
repository.AddOrUpdate(member);
|
||||
uow.Commit();
|
||||
}
|
||||
|
||||
return member;
|
||||
}
|
||||
|
||||
public IMembershipUser GetByUsername(string userName)
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateMemberRepository(_uowProvider.GetUnitOfWork()))
|
||||
{
|
||||
var query = Query<IMembershipUser>.Builder.Where(x => x.Username == userName);
|
||||
var membershipUser = repository.GetByQuery(query).FirstOrDefault();
|
||||
|
||||
return membershipUser;
|
||||
}
|
||||
}
|
||||
|
||||
public IMembershipUser GetByEmail(string email)
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateMemberRepository(_uowProvider.GetUnitOfWork()))
|
||||
{
|
||||
var query = Query<IMembershipUser>.Builder.Where(x => x.Email == email);
|
||||
var membershipUser = repository.GetByQuery(query).FirstOrDefault();
|
||||
|
||||
return membershipUser;
|
||||
}
|
||||
}
|
||||
|
||||
public IMembershipUser GetById(object id)
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateMemberRepository(_uowProvider.GetUnitOfWork()))
|
||||
{
|
||||
var query = Query<IMembershipUser>.Builder.Where(x => x.Id == id);
|
||||
var membershipUser = repository.GetByQuery(query).FirstOrDefault();
|
||||
|
||||
return membershipUser;
|
||||
}
|
||||
}
|
||||
|
||||
public void Delete(IMembershipUser membershipUser)
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateMemberRepository(_uowProvider.GetUnitOfWork()))
|
||||
{
|
||||
repository.Delete(membershipUser);
|
||||
}
|
||||
}
|
||||
|
||||
public void Save(IMembershipUser membershipUser)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user