Esempio n. 1
0
        public async Task <IActionResult> AddNewTask(CreateTodoTaskDto createTodoTaskDto)
        {
            var claimsIdentity = this.User.Identity as ClaimsIdentity;
            var userId         = claimsIdentity.Claims.ToList().FirstOrDefault(x => x.Type == "id").Value;

            createTodoTaskDto.UserId = userId;

            TodoTaskDto result = null;
            var         errors = "";

            var validator = new CreateTodoTaskValidator();
            var valRes    = validator.Validate(createTodoTaskDto);

            if (valRes.IsValid)
            {
                result = await _todoTaskService.AddTodoTaskAsync(createTodoTaskDto);
            }
            else
            {
                foreach (var error in valRes.Errors)
                {
                    errors += error.ErrorMessage + "\r\n";
                }
            }

            var response = new ApiResponse <TodoTaskDto>();

            response.Code         = result != null?201:valRes.IsValid?406:500;
            response.Data         = result;
            response.ErrorMessage = result != null?"":valRes.IsValid?"Coś poszło nie tak, sprawdź wszystkie dane i spróbuj ponownie.":errors;

            return(new JsonResult(response));
        }