/// <summary>
        /// Command method to search the user
        /// </summary>
        /// <param name="param">command parameter</param>
        public void OnSearchUser(object param)
        {
            try
            {
                worker = new BackgroundWorker()
                {
                    WorkerReportsProgress = true
                };
                worker.DoWork += async(sender, e) =>
                {
                    userData = await userApi.GetUsers(searchName : SearchName);

                    if (userData.Data != null && userData.Data.Count > 0)
                    {
                        Users = new ObservableCollection <UserModel>(userData.Data.ToList());
                        SetPageInfo(userData);
                        StatusText = "Displaying matching entries!";
                        OnPropertyChanged(nameof(Users));
                        log.Info("Displaying matching entries for search text :" + SearchName + ", total records found :" + userData.Meta.Pagination.Total);
                    }
                    else
                    {
                        StatusText = "No matching users found!";
                        CommonHelper.ShowInfoMessage("No matching user found !");
                        log.Info("NO matching entries found for search text :" + SearchName);
                    }
                };

                worker.RunWorkerAsync();
            }
            catch (Exception ex)
            {
                log.Error("Exception : " + ex.Message);
                CommonHelper.ShowErrorMessage();
            }
        }