public void DeleteReport(string userToken, OperationReportModel report) { if (report != null) { try { var user = userRepository.Users.GetAll().FirstOrDefault(item => item.Token == userToken); if (user != null) { var dbReport = this.reportRepository.OperationReports.GetAll().Where(item => item.User.Token == userToken).FirstOrDefault(item => item.ReportId == report.ReportId); if (dbReport != null) { this.reportRepository.OperationReports.Delete(dbReport); this.reportRepository.OperationReports.Save(); } else { throw new InvalidOperationException("Report can't be removed because it does not exist in database"); } } else { throw new FileNotFoundException("User doesn't exist in database."); } } catch (Exception ex) { throw new Exception($"DeleteReport: {ex.Message}", ex.InnerException ?? ex); } } }
public void AddReport(string userToken, OperationReportModel report) { if (report != null) { try { var dbReport = mapper.Map <OperationReportModel, OperationReport>(report); if (this.reportRepository.OperationReports.GetAll().Where(item => item.User.Token == userToken).FirstOrDefault(item => item.ReportId == report.ReportId) == null) { var user = userRepository.Users.GetAll().FirstOrDefault(item => item.Token == userToken); if (user != null) { dbReport.User = user; this.reportRepository.OperationReports.Add(dbReport); this.reportRepository.OperationReports.Save(); } else { throw new FileNotFoundException("User doesn't exist in database."); } } else { throw new InvalidOperationException("Report has already exist in database"); } } catch (Exception ex) { throw new Exception($"AddReport: {ex.Message}", ex.InnerException ?? ex); } } }