Пример #1
0
        private string BuildSearchParameterSummary(UserQueryVM vm)
        {
            if (vm?.HasParameterFilled == true)
            {
                var queryParameters = new List <string>(4);

                if (!string.IsNullOrEmpty(vm?.name))
                {
                    queryParameters.Add($"name={vm.name}");
                }
                if (!string.IsNullOrEmpty(vm?.email))
                {
                    queryParameters.Add($"email={vm.email}");
                }
                if (!string.IsNullOrEmpty(vm?.gender))
                {
                    queryParameters.Add($"gender={vm.gender}");
                }
                if (!string.IsNullOrEmpty(vm?.status))
                {
                    queryParameters.Add($"status={vm.status}");
                }

                return("Active query parameters: " +
                       string.Join(", ", queryParameters.ToArray()));
            }
            return(string.Empty);
        }
Пример #2
0
        private string ConstructQuery(int?pageNumber = 0, UserQueryVM vm = null)
        {
            var queryParameters = new List <string>(6);

            if (pageNumber.HasValue)
            {
                queryParameters.Add($"page={pageNumber}");
            }
            if ((vm?.id).HasValue)
            {
                queryParameters.Add($"id={vm.id.Value}");
            }
            if (!string.IsNullOrEmpty(vm?.name))
            {
                queryParameters.Add($"name={vm.name}");
            }
            if (!string.IsNullOrEmpty(vm?.email))
            {
                queryParameters.Add($"email={vm.email}");
            }
            if (!string.IsNullOrEmpty(vm?.gender))
            {
                queryParameters.Add($"gender={vm.gender}");
            }
            if (!string.IsNullOrEmpty(vm?.status))
            {
                queryParameters.Add($"status={vm.status}");
            }

            return("users" +
                   (pageNumber.HasValue || vm.HasParameterFilled ? "?" : string.Empty) +
                   string.Join('&', queryParameters.ToArray()));
        }
Пример #3
0
        public async void LoadUsersAsync(UserQueryVM vm = null)
        {
            queryVM            = vm;
            lbl_qpSummary.Text = BuildSearchParameterSummary(vm);
            IEnumerable <User> users = await Users.Instance.GetAllAsync(vm : vm);

            usersGridView.DataSource = users;
            usersGridView.AutoResizeColumns();
        }
Пример #4
0
        public async Task <IEnumerable <User> > GetAllAsync(int?pageNumber = 0, UserQueryVM vm = null)
        {
            var response = await httpClient.GetAsync(ConstructQuery(pageNumber, vm));

            if (response.IsSuccessStatusCode)
            {
                var result = await response.Content.ReadAsAsync <UsersQueryResultVM>();

                return(result.Data.ToArray());
            }
            return(null);
        }
Пример #5
0
 private void btn_search_Click(object sender, System.EventArgs e)
 {
     queryVM = new UserQueryVM
     {
         name   = txb_name.Text.Trim(),
         email  = txb_email.Text.Trim(),
         gender = cmb_gender.Text,
         status = cmb_status.Text
     };
     master.LoadUsersAsync(queryVM);
     Close();
 }
Пример #6
0
 public Search(Main mf, UserQueryVM vm = null)
 {
     InitializeComponent();
     queryVM = vm;
     master  = mf;
     if (vm != null && vm.HasParameterFilled)
     {
         txb_name.Text   = vm.name;
         txb_email.Text  = vm.email;
         cmb_gender.Text = vm.gender;
         cmb_status.Text = vm.status;
     }
 }
Пример #7
0
 public Main(UserQueryVM vm = null)
 {
     InitializeComponent();
     LoadUsersAsync(vm);
 }