/// <summary> /// Gets filtered client overview data /// </summary> /// <param name="overviewFilter">Overview filter</param> /// <returns>Collection of clients</returns> public IEnumerable <Client> GetClientOverview(ClientOverviewFilter overviewFilter) { var clients = this.clientRepository.GetAsQueryable(); if (overviewFilter.ClientType == ClientType.Privatni) { if (!string.IsNullOrEmpty(overviewFilter.FirstName)) { clients = clients.Where(client => client.FirstName.Contains(overviewFilter.FirstName)); } if (!string.IsNullOrEmpty(overviewFilter.LastName)) { clients = clients.Where(client => client.LastName.Contains(overviewFilter.LastName)); } } if (overviewFilter.ClientType == ClientType.Poslovni) { if (!string.IsNullOrEmpty(overviewFilter.Company)) { clients = clients.Where(client => client.CompanyName.Contains(overviewFilter.Company)); } } var clientsFiltered = clients.Where(client => client.ClientType.Name == overviewFilter.ClientType.ToString()).ToList(); return(clientsFiltered); }
private void applyFilterBtn_Click(object sender, EventArgs e) { // Parses client type combo box selected item into client type enum var clientType = this.clientTypeCb.GetItemText(this.clientTypeCb.SelectedItem); Enum.TryParse(clientType, true, out ClientType selectedClientType); // Client overview filter var filter = new ClientOverviewFilter() { ClientType = selectedClientType, FirstName = firstNameFilterTb.Text, LastName = lastNameFilterTb.Text, Company = companyFilterTb.Text }; // Sets client overview data grid view data source clientOverviewDgv.DataSource = this.clientOverviewVmService.GetClientOverview(filter); }
/// <summary> /// On client type combobox index change /// </summary> /// <param name="sender">Sender</param> /// <param name="e">Event args</param> private void clientTypeCb_SelectedIndexChanged(object sender, EventArgs e) { // Parses client type combo box selected item into client type enum var clientType = this.clientTypeCb.GetItemText(this.clientTypeCb.SelectedItem); Enum.TryParse(clientType, true, out ClientType selectedClientType); if (selectedClientType == ClientType.Privatni) { companyFilterTb.Visible = false; companyFilterLb.Visible = false; firstNameFilterTb.Visible = true; firstNameFilterLbl.Visible = true; lastNameFilterLbl.Visible = true; lastNameFilterTb.Visible = true; } else { companyFilterTb.Visible = true; companyFilterLb.Visible = true; firstNameFilterTb.Visible = false; firstNameFilterLbl.Visible = false; lastNameFilterLbl.Visible = false; lastNameFilterTb.Visible = false; } // Client overview filter var filter = new ClientOverviewFilter() { ClientType = selectedClientType }; // Sets client overview data grid view data source clientOverviewDgv.DataSource = this.clientOverviewVmService.GetClientOverview(filter); }