private async void OnDeleteClick(WpfRawMaterial wpfRawMaterial) { if (wpfRawMaterial == null) { return; } var rawMaterialToDb = RestproMapper.MapWpfRawMaterialToRawMaterial(wpfRawMaterial); string errorMessage = null; try { RawMaterials.Remove(wpfRawMaterial); if (wpfRawMaterial.Id != 0) { _unitOfWork.RawMaterials.FakeDelete(rawMaterialToDb); } await dialogCoordinator.ShowMessageAsync(this, "Success", "Raw Material Deleted Successfully. Good Bye :("); } catch (Exception e) { Debug.WriteLine(e); errorMessage = e.Message; } if (errorMessage == null) { return; } await dialogCoordinator .ShowMessageAsync(this, "Error" , "Fatal Error Occured. You're Screwed!\n" + errorMessage); }