public T UpdateTable <T>(bool isConnected, T t, HttpRequestMethods method, string route = "", int?id = null) where T : class { T retVal = default(T); if (isConnected) { try { var x = UpdateOfflineDb(t, method, route, id); (t as District).PK_District = 0; var jsonString = JsonConvert.SerializeObject(t); var result = edr.ExecuteRequest(route, method, jsonString, id); if (method.ToString() != "Put") { retVal = JsonConvert.DeserializeObject <T>(result.ToString()); } } catch (Exception e) { } return(retVal); } else { // we're offline - add transaction to sync _ss.AddTransactionToSyncTable(new Sync { Active = true, Entity = JsonConvert.SerializeObject(t), EntityType = route.Replace("api/", "").Replace("/", ""), Method = method, Id = id });; return(UpdateOfflineDb(t, method, route, id)); } }