in src/Web/Controllers/AccountController.cs [513:577]
private SignUp CreateSignupEvent(RegisterViewModel model)
{
var signupAddress = new AddressDetails
{
FirstName = model.User.FirstName,
LastName = model.User.LastName,
PhoneNumber = model.User.Phone,
Street1 = model.Address.Address1,
Street2 = model.Address.Address2,
City = model.Address.City,
State = model.Address.State,
ZipCode = model.Address.ZipCode,
Country = model.Address.CountryRegion
};
var signupUser = new SignupUser
{
CreationDate = DateTimeOffset.Now,
UpdateDate = DateTimeOffset.Now,
FirstName = model.User.FirstName,
LastName = model.User.LastName,
Country = model.Address.CountryRegion,
ZipCode = model.Address.ZipCode,
TimeZone = new TimeSpan(0, 0, -model.DeviceFingerPrinting.ClientTimeZone, 0).ToString(),
Language = "EN-US",
PhoneNumber = model.User.Phone,
Email = model.User.Email,
ProfileType = UserProfileType.Consumer.ToString(),
Address = signupAddress
};
var deviceContext = new DeviceContext
{
DeviceContextId = _contextAccessor.GetSessionId(),
IPAddress = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(),
Provider = DeviceContextProvider.DFPFingerPrinting.ToString(),
};
var marketingContext = new MarketingContext
{
Type = MarketingType.Direct.ToString(),
IncentiveType = MarketingIncentiveType.None.ToString(),
IncentiveOffer = "Integrate with Fraud Protection"
};
var storefrontContext = new StoreFrontContext
{
StoreName = "Fraud Protection Sample Site",
Type = StorefrontType.Web.ToString(),
Market = "US"
};
var signupEvent = new SignUp
{
SignUpId = Guid.NewGuid().ToString(),
AssessmentType = AssessmentType.Protect.ToString(),
User = signupUser,
MerchantLocalDate = DateTimeOffset.Now,
CustomerLocalDate = model.DeviceFingerPrinting.ClientDate,
MarketingContext = marketingContext,
StoreFrontContext = storefrontContext,
DeviceContext = deviceContext,
};
return signupEvent;
}