Skip to content

unimbekar/TestClientApp

Repository files navigation

Test Client Application

This C# Windows Forms application demonstrates a client interface for searching and viewing data from SQL and legacy database sources stored in a SQL Server database.

Features

  • Search across multiple data sources with unified interface
  • Advanced filtering by date range and source
  • Detailed record view with metadata exploration
  • JSON export capabilities
  • Data source statistics visualization

Prerequisites

  • Windows operating system
  • .NET 6.0 SDK or newer
  • SQL Server (Local, Express, or higher)
  • Visual Studio 2022 or Visual Studio Code

Setup Instructions

1. Clone or Create the Repository

# Create a new directory for the project
mkdir TestClientApp
cd TestClientApp

# Initialize Git repository (optional)
git init

2. Set Up Project Structure

Option A: Using Visual Studio

  1. Open Visual Studio
  2. Select "Create a new project"
  3. Choose "Windows Forms App (.NET)"
  4. Name it "TestClientApp"
  5. Create the solution
  6. Add the required NuGet packages:
    • System.Data.SqlClient
    • Newtonsoft.Json
    • Dapper
    • Microsoft.Extensions.Configuration
    • Microsoft.Extensions.Configuration.Json
    • Microsoft.Extensions.DependencyInjection

Option B: Using .NET CLI

# Create solution
dotnet new sln -n TestClientApp

# Create Windows Forms project
dotnet new winforms -n TestClientApp -o TestClientApp

# Add project to solution
dotnet sln TestClientApp.sln add TestClientApp/TestClientApp.csproj

# Add required packages
cd TestClientApp
dotnet add package System.Data.SqlClient
dotnet add package Newtonsoft.Json
dotnet add package Dapper
dotnet add package Microsoft.Extensions.Configuration
dotnet add package Microsoft.Extensions.Configuration.Json
dotnet add package Microsoft.Extensions.DependencyInjection
cd ..

3. Create Required Directories

Create the following directory structure:

TestClientApp/
├── Models/
├── Services/
│   ├── Data/
│   └── Auth/
├── Utils/
├── Resources/
└── SQL/

4. Add Project Files

  1. Copy the C# class files for:

    • Models (SearchResult.cs, SearchCriteria.cs, UserPreference.cs, DataSource.cs)
    • Services (IDataService.cs, SqlDataService.cs)
    • Forms (MainForm.cs, DetailForm.cs)
    • Program entry point (Program.cs)
  2. Create the appsettings.json file in the project root directory with the following content:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=YOUR_SERVER_NAME;Database=TestDataSearch;Trusted_Connection=True;"
  },
  "AppSettings": {
    "MaxSearchResults": 500,
    "DefaultSearchResultsCount": 50,
    "CacheTimeoutMinutes": 15
  }
}

5. Set Up the Database

  1. Open SQL Server Management Studio (SSMS)
  2. Connect to your SQL Server instance
  3. Execute the SQL script located in SQL/01_CreateDatabase.sql

Building and Running the Application

Using Visual Studio

  1. Open the solution file (TestClientApp.sln) in Visual Studio
  2. Build the solution (F6 or Build > Build Solution)
  3. Run the application (F5 or Debug > Start Debugging)

Using .NET CLI

# Build the project
dotnet build

# Run the application
dotnet run --project TestClientApp/TestClientApp.csproj

Troubleshooting

Connection Errors

If you encounter database connection errors:

  1. Verify your SQL Server instance is running
  2. Check that the connection string in appsettings.json is correctly configured
  3. Ensure the TestDataSearch database has been created
  4. Verify Windows Authentication is working (if using Trusted_Connection)

Build Errors

For build errors:

  1. Restore NuGet packages: dotnet restore
  2. Check project references
  3. Verify all required files are in the correct directories
  4. Ensure .NET SDK version is compatible (6.0 or higher)

Extension Opportunities

This application provides a foundation that can be extended with:

  1. Authentication/authorization features
  2. Advanced search filters
  3. Report generation
  4. Export to various formats (CSV, Excel)
  5. Integration with additional data sources
  6. Dashboard features

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published