public async Task <IResponse> Handle(RegisterUserCommand request, CancellationToken cancellationToken) { var userWithSameUserName = await this._accountsService.FindUserByUserNameAsync(request.UserName); if (userWithSameUserName != default) { return(this._responseFactory.Create(message: $"The UserName '{request.UserName}' is already in use.")); } var userWithSameEmail = await this._accountsService.FindUserByEmailAsync(request.Email); if (userWithSameEmail != default) { return(this._responseFactory.Create(message: $"The Email '{request.Email}' is already in use.")); } // TODO: Upload request.ProfilePicture and get the url. string profilePictureUrl = default; var newUser = await this._accountsService.RegisterNewUserAsync( userName : request.UserName, email : request.Email, password : request.Password, firstName : request.FirstName, lastName : request.LastName, phoneNumber : request.PhoneNumber, birthDate : request.BirthDate, profilePictureUrl : profilePictureUrl); var roleAssignmentResult = await this._accountsService.AddToRoleAsync(newUser.Id, ApplicationRoles.Basic); if (!roleAssignmentResult) { return(this._responseFactory.Create(message: $"Was not possible to assign the role to the user.")); } var emailConfirmationToken = await this._accountsService.GenerateEmailConfirmationTokenAsync(newUser.Id); if (!EncodingsHelper.TryConvertToBase64(emailConfirmationToken, out string emailConfirmationTokenBase64)) { return(this._responseFactory.Create(message: $"Was not possible to generate the email confirmation token.")); } var accountVerificationUrl = $"https://www.example.com/ConfirmEmail?userName={request.UserName}&code={emailConfirmationTokenBase64}"; await this._mailService.SendMailAsync(request.Email, "Account confirmation", accountVerificationUrl); return(this._responseFactory.Create <string>(data: ResponseMessages.UserSuccessfullyRegistered)); }
public Tab getTabViaID(TabIDs id) { var tab = TabsAccessManager.GetTabViaID(new TabID { ID_Tab = id.tabID, ID_TabsList = id.listID }); Tab newTab = new Tab(); //Convert InfosTab (.NET Lib) to Tab (WinRT Component) newTab.id = id; newTab.dateTabContentUpdated = tab.DateTabContentUpdated; if (tab.TabOriginalPathContent == null) { newTab.pathContent = ""; } else { newTab.pathContent = tab.TabOriginalPathContent; } switch (tab.TabContentType) { case ContentType.File: newTab.tabContentType = ContentTypeInfos.File; break; case ContentType.Folder: newTab.tabContentType = ContentTypeInfos.Folder; break; } newTab.tabDateModified = tab.TabDateModified; newTab.tabName = tab.TabName; newTab.tabNewModifications = tab.TabNewModifications; newTab.tabType = tab.TabType; newTab.encoding = EncodingsHelper.EncodingName(tab.TabEncoding, tab.TabEncodingWithBOM); return(newTab); }