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