public void Run() { if (IsDisposed) { return; } LastStatus = JobStatus.Running; try { Job.Run(); LastStatus = JobStatus.Done; } catch (OperationCanceledException e) { if (!IsDisposed && e.CancellationToken == Cts.Token) { LastStatus = JobStatus.Canceled; JobChange?.Invoke(this, JobChangeEvent.Canceled); } } catch (FileOperationException e) { LastStatus = JobStatus.Error; Exception = e; JobChange?.Invoke(this, JobChangeEvent.ExceptionThrown); } }
public override List <ConsumeProperty> ReadJson(JsonReader reader, Type objectType, List <ConsumeProperty> existingValue, bool hasExistingValue, JsonSerializer serializer) { string data = (string)reader.Value; string[] args = data.Split('|'); List <ConsumeProperty> properties = new List <ConsumeProperty>(); try { for (int i = 0; i < args.Length; i++) { string[] vals = args[i].Split('$'); string[] param; switch (vals[0]) { default: return(null); case "Recover": param = vals[1].Split('>'); Recover recover = new Recover() { amount = float.Parse(param[1]) }; properties.Add(recover); break; case "Replenish": param = vals[1].Split('>'); Replenish replenish = new Replenish() { amount = float.Parse(param[1]) }; properties.Add(replenish); break; case "StatsBuff_CP": properties.Add(new StatsBuff_CP(vals)); break; case "JobChange": param = vals[1].Split('>'); JobChange jobChange = new JobChange() { job = param[1] }; properties.Add(jobChange); break; } } } catch (Exception e) { Console.WriteLine(e.ToString()); } return(properties); }
private void OnJobProgressChange(float progress) { Progress = progress; if (Progress - lastProgressReported > 0.1) { JobChange?.Invoke(this, JobChangeEvent.OnProgressChange); lastProgressReported = Progress; } }
private SFProspect ConvertJobChangeToSF(JobChange jobChange) { var prospect = new SFProspect() { Account = jobChange.ProspectId, Email = $"{jobChange.PersonName.Replace(" ", "")}@gmail.com", FirstName = jobChange.PersonName.TrimStart().Split(' ')[0], LastName = jobChange.PersonName.TrimStart().Substring(jobChange.PersonName.IndexOf(' ') + 1), NewRole = "CFO", //NewsPublicationDate = DateTime.Parse(jobChange.NewsPublicationDate), NewsSource = jobChange.NewsSource, NewsSummary = GetNewsSummary(jobChange.NewsSummary), NewsTitle = jobChange.NewsTitle, ProspectName = jobChange.ProspectName, Source = "Google", Stage = "Pending" }; return(prospect); }
private static void OnJobChange(IJobView changedJob, JobChangeEvent changeEvent) { JobChange?.Invoke(changedJob, changeEvent); }