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";
                }
            }
Exemple #3
0
        /// <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))
 {
 }