public ReportProcessingJob(ProcessingJobsSharedTools processingJobsSharedTools, ServerErrorReport report) { this.tools = processingJobsSharedTools; this.report = report; reportHashCode = tools.GetReportHashCode(this.report); inProcessingTicketsList = new List<ReportProcessingTicket>(tools.GetTicketsOfTypeInProcessing(reportHashCode)); sentTicketsList = new List<ReportProcessingTicket>(tools.GetTicketsOfTypeAlreadySent(reportHashCode)); toBeUploadedTicketsList = new List<ReportProcessingTicket>(tools.GetTicketsOfTypeToBeUploaded(reportHashCode)); uploadingTicketsList = new List<ReportProcessingTicket>(tools.GetAllUploadingTicketsOfType(reportHashCode)); allTicketsList = new List<ReportProcessingTicket>(); allTicketsList.AddRange(sentTicketsList); allTicketsList.AddRange(inProcessingTicketsList); allTicketsList.AddRange(toBeUploadedTicketsList); allTicketsList.AddRange(uploadingTicketsList); ticket = new ReportProcessingTicket(); ticket.ReportHashcode = reportHashCode; }
public string GetReportHashCode(ServerErrorReport serverErrorReport) { //the hashcode of the error report is the hascode of the stack trace string. //2 errors with the same stack trace will have the same error report return ((uint)(serverErrorReport.GetHashCode())).ToString(); }