private bool IsDuplicateSubmit(FailureReportCreationDto dto, User user) { var time = DateTime.UtcNow.AddMinutes(-1); return _failureRepo.GetAll().Any(rpt => rpt.Title == dto.Title && rpt.ReporterId == user.Id && rpt.Time >= time); }
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); }