public void AddProcessingTicket(ReportProcessingTicket reportProcessingTicket)
 {
     lock (synhObj_inProcessingReportsList)
     {
         inProcessingReports.Add(reportProcessingTicket);
     }
 }
		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 void RemoveProcessingTicket(ReportProcessingTicket reportProcessingTicket)
 {
     lock (synhObj_inProcessingReportsList)
     {
         inProcessingReports.Remove(reportProcessingTicket);
     }
 }
        public ReportProcessingTicket[] GetTicketsToBeUploaded()
        {
            List<ReportProcessingTicket> tickets = new List<ReportProcessingTicket>();

            lock (synhObj_reportsToUploadFolder)
            {
                List<FileInfo> files = new List<FileInfo>();
                files.AddRange(this.reportsToUploadFolder.GetFiles("*err*.zip"));

                foreach (FileInfo reportPackage in files)
                {
                    ReportProcessingTicket ticket = new ReportProcessingTicket();
                    ticket.IsSent = false;
                    ticket.PackageName = reportPackage.Name;
                    ticket.ReportHashcode = GetHashCodeFromPackageFileName(reportPackage.Name);
                    ticket.HasSnapshot = PackageHasSnapshot(reportPackage.Name);
                    tickets.Add(ticket);
                }
            }

            return tickets.ToArray();
        }
 public void AddSentPackage(string packageName)
 {
     lock (synhObj_lastSentItemsFileInfo)
     {
         List<ReportProcessingTicket> sentItemList = GetSentItemList();
         ReportProcessingTicket ticket = new ReportProcessingTicket();
         ticket.DateSent = DateTime.Now;
         ticket.InProcessing = false;
         ticket.IsSent = true;
         ticket.PackageName = packageName;
         ticket.ReportHashcode = GetHashCodeFromPackageFileName(packageName);
         ticket.HasSnapshot = PackageHasSnapshot(packageName);
         sentItemList.Add(ticket);
         XmlSerializationUtils<List<ReportProcessingTicket>>.Serialize(sentItemList, lastSentItemsFileInfo.FullName);
     }
 }
        public ReportProcessingTicket[] GetAllUploadingTickets()
        {
            List<ReportProcessingTicket> tickets = new List<ReportProcessingTicket>();

            lock (uploadingReportsFolder)
            {
                FileInfo[] files = this.uploadingReportsFolder.GetFiles("*err*.zip");

                foreach (FileInfo reportPackage in files)
                {
                    ReportProcessingTicket ticket = new ReportProcessingTicket();
                    ticket.InProcessing = true;
                    ticket.IsSent = false;
                    ticket.PackageName = reportPackage.Name;
                    ticket.ReportHashcode = GetHashCodeFromPackageFileName(reportPackage.Name);
                    ticket.HasSnapshot = PackageHasSnapshot(reportPackage.Name);
                    tickets.Add(ticket);
                }
            }

            return tickets.ToArray();
        }