public async Task Init() { string userDir = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); var dirInfo = new DirectoryInfo(String.Format("{0}{1}.thrzn41{1}unittest{1}spark", userDir, Path.DirectorySeparatorChar)); byte[] encryptedToken; byte[] entropy; using (var stream = new FileStream(String.Format("{0}{1}sparktoken.dat", dirInfo.FullName, Path.DirectorySeparatorChar), FileMode.Open, FileAccess.Read, FileShare.Read)) using (var memory = new MemoryStream()) { stream.CopyTo(memory); encryptedToken = memory.ToArray(); } using (var stream = new FileStream(String.Format("{0}{1}tokenentropy.dat", dirInfo.FullName, Path.DirectorySeparatorChar), FileMode.Open, FileAccess.Read, FileShare.Read)) using (var memory = new MemoryStream()) { stream.CopyTo(memory); entropy = memory.ToArray(); } spark = SparkAPI.CreateVersion1Client(LocalProtectedString.FromEncryptedData(encryptedToken, entropy)); var r = await spark.ListSpacesAsync(sortBy : SpaceSortBy.Created, max : 50); while (true) { if (r.IsSuccessStatus && r.Data.HasItems) { foreach (var item in r.Data.Items) { if (item.Title.Contains(UNIT_TEST_SPACE_TAG)) { unitTestSpace = item; break; } } } if (unitTestSpace == null && r.HasNext) { r = await r.ListNextAsync(); } else { break; } } checkSparkAPIClient(); checkUnitTestSpace(); }
/// <summary> /// Create an event filter for person. /// </summary> /// <param name="personIdOrEmail">Person id or email to be filtered.</param> /// <param name="personIdType"><see cref="PersonIdType"/> for personIdOrEmail filter.</param> public PersonFilter(string personIdOrEmail, PersonIdType personIdType = PersonIdType.Detect) : base("personId", personIdOrEmail) { personIdType = SparkAPIClient.DetectPersonIdType(personIdOrEmail, personIdType); if (personIdType == PersonIdType.Email) { this.Key = "personEmail"; } }
/// <summary> /// Appends mention to a person. /// </summary> /// <param name="personIdOrEmail">PersonId or PersonEmail to be mentioned.</param> /// <param name="name">Mentioned name.</param> /// <param name="personIdType"><see cref="PersonIdType"/> of personIdOrEmail parameter.</param> /// <returns>A reference to this instance after the append operation has completed.</returns> public MarkdownBuilder AppendMentionToPerson(string personIdOrEmail, string name, PersonIdType personIdType = PersonIdType.Detect) { personIdType = SparkAPIClient.DetectPersonIdType(personIdOrEmail, personIdType); switch (personIdType) { case PersonIdType.Email: this.markdown.AppendFormat("<@personEmail:{0}|{1}>", encodeHtml(personIdOrEmail), encodeHtml(name)); break; default: this.markdown.AppendFormat("<@personId:{0}|{1}>", encodeHtml(personIdOrEmail), encodeHtml(name)); break; } return(this); }
/// <summary> /// Create an event filter for mentioned people. /// </summary> /// <param name="mentionedPeople">Mentioned people to be filtered.</param> public MentionedPeopleFilter(IEnumerable <string> mentionedPeople) : base("mentionedPeople", SparkAPIClient.BuildCommaSeparatedString(mentionedPeople)) { }