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>()); } }