Beispiel #1
0
            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));
            }
Beispiel #2
0
        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);
        }