private void txtSearchParamater_TextChanged(object sender, EventArgs e) { clientSearchParameter searchParameter = (clientSearchParameter)cmbSearchBy.SelectedIndex; searchResults = clientData.searchClientByParameter(parameter: searchParameter, query: txtSearchParamater.Text); if (searchResults != null) { Client client = searchResults[0]; txtClientFirstName.Text = client.FirstName; txtClientLastName.Text = client.LastName; txtClientLocation.Text = client.Address; txtClientPhoneNumber.Text = client.PhoneNumber; txtClientEmail.Text = client.Email; selectedClientContracts = contractData.listContractsBySearchParamater(parameter: contractSearchParamaters.clientID, query: client.Id); contractBind.DataSource = selectedClientContracts; } }
List <Client> searchClientByParameter(clientSearchParameter parameter, string query, serviceLevel serviceLevel) { try { DataTable clientData = new DataTable(); switch (parameter) { case clientSearchParameter.id: clientData = db.GetClientByID(id: query); break; case clientSearchParameter.email: clientData = db.GetClientByEmail(email: query); break; case clientSearchParameter.address: clientData = db.GetClientByAddress(address: query); break; case clientSearchParameter.phone: clientData = db.GetClientByContactNumber(number: query); break; case clientSearchParameter.contractID: clientData = db.GetClientByContractID(id: query); break; default: break; } if (clientData != null || clientData.IsInitialized) { for (int i = 0; i < clientData.Rows.Count; i++) { switch (serviceLevel) { case serviceLevel.bronze: clients.Add(new Bronze(data: clientData, i: i)); break; case serviceLevel.silver: clients.Add(new Silver(data: clientData, i: i)); break; case serviceLevel.premium: clients.Add(new Premium(data: clientData, i: i)); break; default: break; } } return(clients); } return(null); } catch (Exception e) { MessageBox.Show("ClientBusinessLogic : searchClientByParameter ERROR:" + e.Message); throw; } }
public List <Client> searchClientByParameter(clientSearchParameter parameter, string query) { try { DataTable clientData = new DataTable(); DataTable contractData = new DataTable(); switch (parameter) { case clientSearchParameter.email: clientData = db.GetClientByEmail(email: query); break; case clientSearchParameter.address: clientData = db.GetClientByAddress(address: query); break; case clientSearchParameter.phone: clientData = db.GetClientByContactNumber(number: query); break; case clientSearchParameter.id: clientData = db.GetClientByID(id: query); break; default: break; } if (clientData.Rows.Count != 0) { for (int i = 0; i < clientData.Rows.Count; i++) { contractData = db.ListContractsByClientID(clientData.Rows[i]["ClientID"].ToString()); string serviceLevel = contractData.Rows[i]["ServiceLevel"].ToString(); for (int j = 0; j < contractData.Rows.Count; j++) { if (serviceLevel == "Bronze") { clients.Add(new Bronze(data: clientData, i: i)); } else if (serviceLevel == "Silver") { clients.Add(new Silver(data: clientData, i: i)); } else if (serviceLevel == "Premium") { clients.Add(new Premium(data: clientData, i: i)); } else { clients.Add(new Bronze(data: clientData, i: i)); } } } return(clients); } return(null); } catch (Exception e) { MessageBox.Show("ClientBusinessLogic : searchClientByParameter ERROR:" + e.Message); throw; } }