/// <summary>
 /// Deprecated, please use GetTeamworkClient
 /// </summary>
 /// <param name="pDomain"></param>
 /// <param name="pApiKey"></param>
 public Client(Uri pDomain, string pApiKey)
 {
     try
     {
         ApiKey     = pApiKey;
         Domain     = pDomain;
         HttpClient = new AuthorizedHttpClient(pApiKey, pDomain, this.UseOauth)
         {
             BaseAddress = pDomain
         };
     }
     catch (Exception ex)
     {
         ErrorHandler.ThrowGenericTeamworkError(ex);
     }
 }
示例#2
0
        /// <summary>
        /// Returns authentication details and infos of the current user
        /// </summary>
        /// <returns></returns>
        public async Task <List <UserEntry> > GetAuthenticationtDetails(string pUserName, string pAssword)
        {
            var accountlist = new List <UserEntry>();

            using (var webclient = new AuthorizedHttpClient("", new Uri("https://authenticate.teamwork.com/"), false)) {
                var data = await webclient.GetListAsync <UserEntry>(
                    @"accounts/search.json?email=" + pUserName + "&password="******"accounts", null);

                if (data.StatusCode == HttpStatusCode.OK)
                {
                    accountlist.AddRange(data.List);
                }
                else
                {
                    throw new Exception(data.Status + " " + data.Message);
                }
            }


            using (var webclient = new AuthorizedHttpClient("", new Uri("https://authenticate.eu.teamwork.com/"), false)) {
                var data = await webclient.GetListAsync <UserEntry>(
                    @"accounts/search.json?email=" + pUserName + "&password="******"accounts", null);

                if (data.StatusCode == HttpStatusCode.OK)
                {
                    foreach (var acc in data.List)
                    {
                        acc.companyname = acc.companyname + "-EU";
                    }
                    accountlist.AddRange(data.List);
                }
                else
                {
                    throw new Exception(data.Status + " " + data.Message);
                }
            }

            if (accountlist.Count > 0)
            {
                return(accountlist);
            }
            throw new Exception("No Login found");
        }
示例#3
0
        /// <summary>
        /// Returns authentication details and infos of the current user
        /// </summary>
        /// <returns></returns>
        public async Task <List <UserEntry> > GetAuthenticationtDetailsTest(string pUserName, string pAssword)
        {
            var accountlist = new List <UserEntry>();

            using (var webclient = new AuthorizedHttpClient("", new Uri("http://sunbeam.teamwork.dev/"), true)) {
                var data = await webclient.GetListAsync <UserEntry>(
                    @"accounts/search.json?email=" + pUserName + "&password="******"accounts", null);

                if (data.StatusCode == HttpStatusCode.OK)
                {
                    accountlist.AddRange(data.List);
                }
                else
                {
                    throw new Exception(data.Status + " " + data.Message);
                }
            }

            if (accountlist.Count > 0)
            {
                return(accountlist);
            }
            throw new Exception("No Login found");
        }