Exemple #1
0
        public async Task <IActionResult> OnGetAsync()
        {
            var accessToken = await HttpContext.GetTokenAsync("access_token");

            await PageConstructor(SaveStates.IGNORE, accessToken);

            if (!await _apiHelper.AuthCheck(accessToken, User.FindFirst("sub").Value))
            {
                return(RedirectToPage("/Logout"));
            }

            taskGroupHead            = new TaskGroupHead();
            taskGroupHead.MainUserId = Guid.Parse(User.FindFirst("sub").Value);

            if (!string.IsNullOrWhiteSpace(Id))
            {
                if (Guid.TryParse(Id, out Guid parsedId))
                {
                    if (parsedId != Guid.Empty)
                    {
                        var response = await _apiHelper.MakeAPICallAsync(accessToken, HttpMethod.Get, APITypes.TASK, $"TaskGroup/{Id}");

                        if (response.StatusCode == System.Net.HttpStatusCode.OK)
                        {
                            taskGroupHead = response.ContentAsType <TaskGroupHead>();
                            if (taskGroupHead != null)
                            {
                                ParentId = taskGroupHead.ParentTaskGroupId.ToString();
                            }
                        }
                    }
                    else
                    {
                        if (!string.IsNullOrWhiteSpace(ParentId))
                        {
                            var response = await _apiHelper.MakeAPICallAsync(accessToken, HttpMethod.Get, APITypes.TASK, $"TaskGroup/{ParentId}");

                            if (response.StatusCode == System.Net.HttpStatusCode.OK)
                            {
                                taskGroupHead                   = response.ContentAsType <TaskGroupHead>();
                                taskGroupHead.ShortName         = string.Empty;
                                taskGroupHead.LongName          = string.Empty;
                                taskGroupHead.Description       = string.Empty;
                                taskGroupHead.ParentTaskGroupId = taskGroupHead.Id;
                                taskGroupHead.Id                = Guid.Empty;
                            }
                        }
                    }
                }
            }
            else
            {
                Id = Guid.Empty.ToString();
            }

            SaveMessageModel = await _apiHelper.GenerateSaveMessageModel(accessToken);

            return(Page());
        }
        public async Task <IActionResult> Post([FromBody] TaskGroupHead taskGroupHead)
        {
            try
            {
                var accessToken = await HttpContext.GetTokenAsync("access_token");

                if (taskGroupHead.Id == Guid.Empty)
                {
                    //var userId = User.FindFirstValue("sub");

                    var taskGroupHeader = _mapper.Map <TaskGroupHeader>(taskGroupHead);

                    if (!await _taskManager.TaskGroupTeamOkayAsync(taskGroupHeader, accessToken))
                    {
                        return(BadRequest());
                    }

                    if (!await _taskManager.TaskGroupParentOkayAsync(taskGroupHeader, accessToken))
                    {
                        return(BadRequest());
                    }

                    if (!await _taskManager.SetNewTaskGroupSequenceNoAsync(taskGroupHeader, accessToken))
                    {
                        return(BadRequest());
                    }

                    taskGroupHeader.OriginalCompletionDate = taskGroupHeader.CompletionDate;
                    taskGroupHeader.CompletedOnDate        = DateTime.Parse("01/01/1900");
                    taskGroupHeader.Completed = false;

                    _unitOfWork.TaskGroupHeaders.Add(taskGroupHeader);

                    _unitOfWork.Complete();

                    return(Created(new Uri($"{Request.Path}/{taskGroupHeader.Id}", UriKind.Relative), _mapper.Map <TaskGroupHead>(taskGroupHeader)));
                }
            }
            catch (Exception e)
            {
                string message = e.Message;
            }

            return(BadRequest());
        }