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); }