/// <summary> /// Command method to add/update the user details /// </summary> /// <param name="param">command parameter</param> public void OnSave(object param) { try { var worker = new BackgroundWorker() { WorkerReportsProgress = true }; worker.DoWork += async(sender, e) => { var result = await userApi.AddUpdateUser(operationType, GetUserModel(), Id); if (result == (int)Common.Status.CreatedOK || result == (int)Common.Status.OK) { CommonHelper.ShowInfoMessage("Entered User Details have been saved successfully!"); IsSaveSuccessful = true; ((Window)param).Dispatcher.Invoke(() => { ((Window)param)?.Close(); }, DispatcherPriority.Normal); } else { CommonHelper.ShowErrorMessage((Status)result); } }; worker.RunWorkerAsync(); } catch (Exception ex) { log.Error("Exception : " + ex.Message); CommonHelper.ShowErrorMessage(); } }