private bool DeleteItems(DeleteBatch Batch)
        {
            var url      = string.Format(urlFormat + "/api/batchdelete", zumoName);
            var batchUri = new Uri(url);
            var body     = Serialize(Batch);

            return(AzureWebServicesConnection.DeleteBatch(batchUri, body, adminKey));
        }
        public override void PostExecute()
        {
            base.PostExecute();
            int deletes = 0;

            switch (tableName)
            {
            case "charges":
                var chargesToRemove = chargesServiceList.Except(chargesToSave).ToList();
                if (chargesToRemove.Count > 0)
                {
                    var         ids   = string.Join(",", chargesToRemove.Select(c => c.id).ToArray());
                    DeleteBatch batch = new DeleteBatch()
                    {
                        ids = ids, tableName = tableName
                    };
                    if (DeleteItems(batch))
                    {
                        ComponentMetaData.FireInformation(0, ComponentMetaData.Name, string.Format("Charge(s) deleted with id(s) {0}.", ids), "", 0, ref pbCancel);
                    }
                    else
                    {
                        ComponentMetaData.FireError(0, ComponentMetaData.Name, string.Format("Charge(s) NOT deleted with id(s) {0}.", ids), "", 0, out pbCancel);
                    }
                }
                else
                {
                    ComponentMetaData.FireInformation(0, ComponentMetaData.Name, "No Charges to delete.", "", 0, ref pbCancel);
                }
                break;

            case "holds":
                var holdsToRemove = holdsServiceList.Except(holdsToSave).ToList();
                if (holdsToRemove.Count > 0)
                {
                    var         ids   = string.Join(",", holdsToRemove.Select(h => h.id).ToArray());
                    DeleteBatch batch = new DeleteBatch()
                    {
                        ids = ids, tableName = tableName
                    };
                    if (DeleteItems(batch))
                    {
                        ComponentMetaData.FireInformation(0, ComponentMetaData.Name, string.Format("Hold(s) deleted with id(s) {0}.", ids), "", 0, ref pbCancel);
                    }
                    else
                    {
                        ComponentMetaData.FireError(0, ComponentMetaData.Name, string.Format("Hold(s) NOT deleted with id(s) {0}.", ids), "", 0, out pbCancel);
                    }
                }
                else
                {
                    ComponentMetaData.FireInformation(0, ComponentMetaData.Name, "No Holds to delete.", "", 0, ref pbCancel);
                }
                break;

            case "inmates":
            default:
                var inmatesToRemove = inmatesServiceList.Except(inmatesToSave).ToList();
                if (inmatesToRemove.Count > 0)
                {
                    var         ids   = string.Join(",", inmatesToRemove.Select(i => i.id).ToArray());
                    DeleteBatch batch = new DeleteBatch()
                    {
                        ids = ids, tableName = tableName
                    };
                    if (DeleteItems(batch))
                    {
                        ComponentMetaData.FireInformation(0, ComponentMetaData.Name, string.Format("Items(s) {0} deleted from {1}.", ids, tableName), string.Empty, 0, ref pbCancel);
                    }
                    else
                    {
                        ComponentMetaData.FireError(0, ComponentMetaData.Name, string.Format("Items(s) {0}  NOT deleted from {1}.", ids, tableName), string.Empty, 0, out pbCancel);
                    }
                }
                else
                {
                    ComponentMetaData.FireInformation(0, ComponentMetaData.Name, "No Inmates to delete.", "", 0, ref pbCancel);
                }
                deletes = inmatesToRemove.Count;
                break;
            }
            InsertSync(new SyncItem()
            {
                adds = adds, updates = updates, deletes = deletes, syncType = tableName, syncTime = DateTime.Now
            });
        }