本文整理汇总了C#中Register.ToWebModel方法的典型用法代码示例。如果您正苦于以下问题:C# Register.ToWebModel方法的具体用法?C# Register.ToWebModel怎么用?C# Register.ToWebModel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Register
的用法示例。
在下文中一共展示了Register.ToWebModel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Register
public async Task<ActionResult> Register(Register formModel)
{
var user = new VirtoCommercePlatformCoreSecurityApplicationUserExtended
{
Email = formModel.Email,
Password = formModel.Password,
UserName = formModel.Email,
UserType = "Customer",
StoreId = WorkContext.CurrentStore.Id,
};
//Register user in VC Platform (create security account)
var result = await _commerceCoreApi.StorefrontSecurityCreateAsync(user);
if (result.Succeeded == true)
{
//Load newly created account from API
var storefrontUser = await _commerceCoreApi.StorefrontSecurityGetUserByNameAsync(user.UserName);
//Next need create corresponding Customer contact in VC Customers (CRM) module
//Contacts and account has the same Id.
var customer = formModel.ToWebModel();
customer.Id = storefrontUser.Id;
customer.UserId = storefrontUser.Id;
customer.UserName = storefrontUser.UserName;
customer.IsRegisteredUser = true;
customer.AllowedStores = storefrontUser.AllowedStores;
await _customerService.CreateCustomerAsync(customer);
await _commerceCoreApi.StorefrontSecurityPasswordSignInAsync(storefrontUser.UserName, formModel.Password);
var identity = CreateClaimsIdentity(customer);
_authenticationManager.SignIn(identity);
//Publish user login event
await _userLoginEventPublisher.PublishAsync(new UserLoginEvent(WorkContext, WorkContext.CurrentCustomer, customer));
return StoreFrontRedirect("~/account");
}
else
{
ModelState.AddModelError("form", result.Errors.First());
}
return View("customers/register", WorkContext);
}