예제 #1
0
        public async Task <string> EditQueueOperatorsRestApi(string queueNumber, IEnumerable <string> extensionList)
        {
            List <string> StMembers = new List <string>();

            if (extensionList != null)
            {
                foreach (var item in extensionList)
                {
                    StMembers.Add(item + ",0");
                }
            }

            string token = await GetNewTokenRest();

            QueueApi queueApi = new QueueApi();

            queueApi.Extension     = queueNumber.ToString();
            queueApi.StaticMembers = StMembers;
            string json      = queueApi.ToJson();
            int    Failretry = 0;

retry:
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return(true); });
            HttpClient client  = new HttpClient();
            var        content = new StringContent(json, Encoding.UTF8, "application/json");

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            string Postadd  = "https://" + IssabeLIP + "/pbxapi/queues/" + queueNumber.ToString();
            var    response = await client.PutAsync(Postadd, content);

            string res; //= response.ToString();

            if (response.IsSuccessStatusCode)
            {
                res = "true";
            }
            else // if (res.Contains("StatusCode: 500") || response.StatusCode.ToString() == "500")
            {
                Failretry += 1;
                if (Failretry < 10)
                {
                    goto retry;
                }
                else
                {
                    res = "ثبت با خطا روبرو شد با مدیر سیستم تماس بگیرید";
                }
            }
            return(res);
        }