コード例 #1
0
        public async Task SignUp(SignUpVm model)
        {
            var existingUser = await _userRepository.GetUserByEmail(model.Email);

            if (existingUser != null)
            {
                throw new BadRequestException("User with this email is already exists");
            }

            var signUpDto = _mapper.Map <SignUpDto>(model);
            var id        = await _userRepository.SignUp(signUpDto);

            //create user root folder
            await _foldersRepository.CreateFolder(new CreateFolderDto
            {
                Name       = $"User {id}  root folder",
                UserId     = id,
                FolderType = FolderType.Private
            });

            var body = await _razorLightEngine.CompileRenderAsync("UserInvitationTemplate.cshtml", new UserInvitationVm
            {
                ActivationUrl   = $"{_commonSettings.ApplicationUrl}/activate_user",
                ActivationToken = signUpDto.ActivationToken,
                FirstName       = model.FirstName,
                LastName        = model.LastName
            });

            _emailService.SendEmail(signUpDto.Email, $"Welcome to Video", body).Forget();
        }
コード例 #2
0
ファイル: FoldersService.cs プロジェクト: StasVitAlex/Video
        public async Task <long> CreateFolder(int userId, CreateFolderVm model)
        {
            var createDto = _mapper.Map <CreateFolderDto>(model);

            createDto.UserId = userId;
            return(await _foldersRepository.CreateFolder(createDto));
        }