public async Task <PenaltyReport> CreatePenaltyReport(CreatePenaltyReportRequest request) { var baseReport = await CreateBaseReport(request.Subject, request.Content, request.IsPrivate, request.EventDate, ReportCategoryType.Penalty); var penaltyReport = PenaltyReport.Create(baseReport.Id, request.BanId, request.PenaltyId); penaltyReport.SetReport(baseReport); using (var transaction = database.BeginTransaction().Transaction) { if (!await database.ReportRepository.Insert(baseReport, false)) { throw new DatabaseException(); } if (!await database.PenaltyReportRepository.Insert(penaltyReport, false)) { throw new DatabaseException(); } transaction.Complete(); } await reportImageService.UploadReportImages(httpContextReader.CurrentUserId, baseReport, request.Images); return(penaltyReport); }
public void SetUp() { report = new PenaltyReport(); request = new CreatePenaltyReportRequest(); var mapper = new Mock <IMapper>(); reportService = new Mock <IReportService>(); reportManager = new Mock <IReportManager>(); reportService.Setup(rs => rs.CreatePenaltyReport(It.IsAny <CreatePenaltyReportRequest>())) .ReturnsAsync(report); mapper.Setup(m => m.Map <PenaltyReportDto>(It.IsAny <PenaltyReport>())).Returns(new PenaltyReportDto()); createPenaltyReportCommand = new CreatePenaltyReportCommand(reportService.Object, reportManager.Object, mapper.Object); }