public async Task <bool> Delete(string couponId)
        {
            if (couponId.Contains("["))
            {
                string couponIdTemp = couponId.Replace("[", "").Replace("]", "");
                if (couponIdTemp == null || string.IsNullOrWhiteSpace(couponIdTemp))
                {
                    return(false);
                }

                string[] couponIdArray = couponIdTemp.Split(',');
                if (couponIdArray == null || !couponIdArray.Any())
                {
                    return(false);
                }

                List <string> couponIdList = couponIdArray.Select(c => c.Trim()).ToList();

                List <CouponToDeleteDto> couponList = await _cloudantService.GetListByCouponIds(couponIdList);

                couponList.ForEach(c => c._deleted = true);

                CouponListToDeleteDto couponListDto = new CouponListToDeleteDto();
                couponListDto.docs = couponList;
                return(await _cloudantService.DeleteBulkAsync(couponListDto));
            }
            else
            {
                return(await _cloudantService.DeleteAsync(couponId));
            }
        }
        public async Task <dynamic> DeleteBulkAsync(CouponListToDeleteDto items)
        {
            using (var client = CloudantClient())
            {
                var response = await client.PostAsync(_dbName + "/_bulk_docs", new StringContent(JsonConvert.SerializeObject(items), Encoding.UTF8, "application/json"));

                if (response.IsSuccessStatusCode)
                {
                    return(true);
                }
                string msg = "Failure to PUT. Status Code: " + response.StatusCode + ". Reason: " + response.ReasonPhrase;
                Console.WriteLine(msg);
                return(false);
            }
        }
        public async Task <dynamic> GetListByCouponIds(List <string> couponIds)
        {
            CouponSelectorForBulkId couponSelector = CouponSelectorForBulkId.Build(couponIds);

            using (var client = CloudantClient())
            {
                var response = await client.PostAsJsonAsync(_dbName + "/_find", couponSelector);

                if (response.IsSuccessStatusCode)
                {
                    var responseJson = await response.Content.ReadAsStringAsync();

                    CouponListToDeleteDto couponList = JsonConvert.DeserializeObject <CouponListToDeleteDto>(responseJson);
                    return(couponList.docs);
                }
                string msg = "Failure to GET. Status Code: " + response.StatusCode + ". Reason: " + response.ReasonPhrase;
                Console.WriteLine(msg);
                return(new List <CouponListToDeleteDto>());
            }
        }