using Microsoft.AspNetCore.Http;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Strings;
namespace Umbraco.Cms.Web.Website.Models;
///
/// Service to create model builder instances for working with Members on the front-end
///
public class MemberModelBuilderFactory
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IMemberService _memberService;
private readonly IMemberTypeService _memberTypeService;
private readonly IShortStringHelper _shortStringHelper;
public MemberModelBuilderFactory(
IMemberTypeService memberTypeService,
IMemberService memberService,
IShortStringHelper shortStringHelper,
IHttpContextAccessor httpContextAccessor)
{
_memberTypeService = memberTypeService;
_memberService = memberService;
_shortStringHelper = shortStringHelper;
_httpContextAccessor = httpContextAccessor;
}
///
/// Create a
///
///
public RegisterModelBuilder CreateRegisterModel() => new(_memberTypeService, _shortStringHelper);
///
/// Create a
///
///
public ProfileModelBuilder CreateProfileModel() =>
new(_memberTypeService, _memberService, _shortStringHelper, _httpContextAccessor);
}