public async Task <IActionResult> ShareTaskHead([FromBody] ShareTaskHeadModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetFirstError())); } var token = await CreateUserWithToken(model); await _userTaskHeadService.AddTaskHeadSubTasks(token.UserId, model.CompanyId, model.TaskHeadId, model.ParsedTaskDurationTimeLimitTime); return(Ok(GenerateShareLink(token.TokenValue))); }
private async Task <Token> CreateUserWithToken(ShareTaskHeadModel model) { var newUser = await _userService.CreateNew(new PassJs.DomainModels.User() { CompanyId = model.CompanyId, CompanyName = User.GetCompanyName(), Email = model.UserEmail, IsAdmin = false, UserName = model.UserFullName }); var token = await _simpleCrudService.CreateOrUpdate <Token>(new Token() { CreatedDt = DateTime.UtcNow, LifetimeInDays = model.LinkLifetimeInDays, TokenValue = Guid.NewGuid(), UserId = newUser.Id, ExtraData = model.TaskDurationTimeLimit }); return(token); }