public async Task CreateMyTask(CreateMyTaskCommand command)
        {
            try
            {
                _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", await _authHandler.GetAuthAccessToken());
                var response = await _httpClient.PostAsJsonAsync <CreateMyTaskCommand>("api/Tasks/MyTask", command);

                if (response.IsSuccessStatusCode)
                {
                    var commandResult = await response.Content.ReadFromJsonAsync <CreateMyTaskCommandResult>();

                    var tasks = new List <TaskDto>(_tasksSubject.Value);
                    tasks.Add(commandResult.Payload);

                    _tasksSubject.OnNext(tasks);

                    _apiCallResultSubject.OnNext(new ApiCallResult <string>()
                    {
                        IsSucceed = true,
                        Operation = "CreateMyTask"
                    });
                }
            }
            catch (Exception ex)
            {
                _apiCallResultSubject.OnNext(new ApiCallResult <string>()
                {
                    IsSucceed    = false,
                    Operation    = "CreateMyTask",
                    ErrorMessage = ex.Message
                });
            }
        }
예제 #2
0
        public async Task <IActionResult> CreateMyTask([FromBody] CreateMyTaskCommand command)
        {
            try
            {
                //if (!ModelState.IsValid)
                //{
                //  return base.BadRequest(ModelState);
                //}

                var result = await _mediator.Send <CreateMyTaskCommandResult>(command);

                return(base.Created($"api/Tasks/{result.Payload.Id}", result));
            }
            catch (ArgumentException ex)
            {
                return(base.BadRequest(ex.Message));
            }
        }