public async Task TryDelete(int id, Action <string> onSuccess, Action <Exception, string> onFail, CascadingAppStateProvider state) { try { if (await _onlineState.IsOnline()) { MetaRequestDelete req = new() { Id = id }; MetaResponseDelete ret = await _metaService.DeleteAsync(req); if (!ret.Success) { throw new Exception(RequestCodes.FIVE_ZERO_ZERO); } } if (state.AppState.UseIndexedDB) { await _indexedDBManager.OpenDb(); await _indexedDBManager.ClearStore("Blobs"); } onSuccess(RequestCodes.TWO_ZERO_ZERO); } catch (Exception e) { onFail(e, RequestCodes.FIVE_ZERO_ZERO); } }
public override async Task <MetaResponseDelete> Delete(MetaRequestDelete request, ServerCallContext context) { var response = new MetaResponseDelete(); try { var list = await _manager.Get(x => x.Id == request.Id); if (list != null) { var first = list.First(); var success = await _manager.Delete(first); if (success) { Cache.Remove(_cache, "Meta."); response.Success = true; response.Status = RequestCodes.TWO_ZERO_ZERO + ", deleted 1 row"; response.Error = ""; } else { response.Success = false; response.Status = RequestCodes.FIVE_ZERO_TWO; response.Error = "Delete did not work"; } } else { response.Success = false; response.Status = RequestCodes.FIVE_ZERO_ZERO; response.Error = "Could not find meta for deletion"; } } catch (Exception e) { response.Success = false; response.Status = RequestCodes.FIVE_ZERO_ZERO; response.Error = e.ToString(); } return(await Task.FromResult <MetaResponseDelete>(response)); }