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(); }
public async Task <long> CreateFolder(int userId, CreateFolderVm model) { var createDto = _mapper.Map <CreateFolderDto>(model); createDto.UserId = userId; return(await _foldersRepository.CreateFolder(createDto)); }