public IActionResult CreateCorporate([FromBody] SubscriberCorporateInputModel request) { if (!ModelState.IsValid) { return(BadRequest()); } return(Ok(_subscriberAppService.AddNewSubscriberCorporate(request).Result)); }
public async Task <ResponseViewModel> AddNewSubscriberCorporate(SubscriberCorporateInputModel model) { var existingUserResult = _userManager.FindByEmailAsync(model.Email).Result; if (existingUserResult != null) { return(Failed(ResponseMessageViewModel.ACCOUNT_ALREADY_EXITS, ResponseErrorCodeStatus.ACCOUNT_ALREADY_EXIST)); } var result = _subscriberService.CreateSubcribers(new AppUser { UserName = model.Email, FirstName = model.NameOfEntry, LastName = model.NameOfEntry, Email = model.Email, PhoneNumber = model.PhoneNumber, RCNumber = model.RCNumber, MailingAddress = model.MailingAddress, OfficeAddress = model.OfficeAddress, WebsiteUrl = model.WebSiteUrl }); model.SaveProfilePhoto(_settings); var emailHtmlTemplate = _emailService.GetEmailTemplate(_env, EmailTemplate.Welcome(model.Platform ?? Res.WEB_PLATFORM)); var code = _otpService.GenerateCode(result.AppUser.Id, _settings.OtpExpirationInMinutes, model.Platform ?? Res.WEB_PLATFORM); Dictionary <string, string> contentReplacements = new Dictionary <string, string>() { { Placeholder.EMAIL, result.AppUser.Email }, { Placeholder.OTP, (model.Platform ?? Res.WEB_PLATFORM).ToLower() == Res.WEB_PLATFORM ? $"{_settings.WebApp.BaseUrl}{_settings.WebApp.Register}{code}" : code }, }; if (contentReplacements != null) { foreach (KeyValuePair <string, string> pair in contentReplacements) { emailHtmlTemplate = emailHtmlTemplate.Replace(pair.Key, pair.Value); } } _ = _emailService.SendEmail(model.Email, Res.ACCOUNT_SETUP, emailHtmlTemplate); _ = await _userManager.AddToRoleAsync(result.AppUser, UserType.SUBSCRIBER); var mappedResult = _mapper.Map <AppUser, VendorViewModel>(result.AppUser); return(Ok(mappedResult)); }