/// <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();
            }
        }