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); }
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())); }
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(); }
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); }
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(); }
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; } }
public Main(UserQueryVM vm = null) { InitializeComponent(); LoadUsersAsync(vm); }