public async Task <IHttpActionResult> Post(FailureReportCreationDto dto)
        {
            var user = await User.GetEntityAsync(_identityRepo);

            if (IsDuplicateSubmit(dto, user))
            {
                return(StatusCode(HttpStatusCode.Created));
            }

            var report = new FailureReport
            {
                Title = dto.Title,
                Time  = DateTime.UtcNow,
                State = ReportStates.Waiting,
                Items = new List <FailureItem>()
            };

            if (!CheckTypesAndAdd(report, dto.Items))
            {
                return(BadRequest("故障项不正确"));
            }

            report.Reporter = user;

            await _failureRepo.CreateAsync(report);

            return(StatusCode(HttpStatusCode.Created));
        }