using System; using System.Collections.Generic; using System.Text; using Kreta.DataAccessManual.Util; namespace Kreta.DataAccessManual.ParameterClasses { public class NebuloSearchPco { public string NebuloNeveSearch { get; set; } public string OktatasiAzonositoSearch { get; set; } public string AnyjaNeveSearch { get; set; } public string SzuletesiHelySearch { get; set; } public DateTime? TolSearch { get; set; } public DateTime? IgSearch { get; set; } public int? FelvetelStatuszaSearch { get; set; } public int? FeladatellatasiHelyIdSearch { get; set; } public int? KirSzolgaltatasSearch { get; set; } public int? EtikaHitErkolcstanSearch { get; set; } public string OvodaAzonositojaVagyNeveSearch { get; set; } public int? EletvitelszeruOttLakasSearch { get; set; } public int? SzakertoiBizottsagSearch { get; set; } public int? SzuloTestverBetegSearch { get; set; } public int? TestverAdottIntezmenyTanulojaSearch { get; set; } public int? AzIskolaALakohelyetolSearch { get; set; } public int? MunkaltatoiIgazolasSearch { get; set; } public int? SNISearch { get; set; } public int? BTMSearch { get; set; } /// /// Builds contents of the where clause. /// /// Search parameters. /// SQL where body. public StringBuilder ToWhere(out List parameters) { StringBuilder whereClause = new StringBuilder(); parameters = new List(); if (!string.IsNullOrWhiteSpace(NebuloNeveSearch)) { parameters.Add(new CommandParameter(nameof(NebuloNeveSearch), NebuloNeveSearch)); whereClause.Append($" AND NebuloNeveSearch LIKE '%'+ @{nameof(NebuloNeveSearch)} +'%'"); } if (!string.IsNullOrWhiteSpace(AnyjaNeveSearch)) { parameters.Add(new CommandParameter(nameof(AnyjaNeveSearch), AnyjaNeveSearch)); whereClause.Append($" AND AnyjaNeveSearch LIKE '%'+ @{nameof(AnyjaNeveSearch)} +'%'"); } if (!string.IsNullOrWhiteSpace(OktatasiAzonositoSearch)) { parameters.Add(new CommandParameter(nameof(OktatasiAzonositoSearch), OktatasiAzonositoSearch)); whereClause.Append($" AND subSelect.C_OKTATASIAZONOSITOSZAMA LIKE '%'+ @{nameof(OktatasiAzonositoSearch)} +'%'"); } if (!string.IsNullOrWhiteSpace(SzuletesiHelySearch)) { parameters.Add(new CommandParameter(nameof(SzuletesiHelySearch), SzuletesiHelySearch)); whereClause.Append($" AND subSelect.C_SZULETESIHELY LIKE '%'+ @{nameof(SzuletesiHelySearch)} +'%'"); } if (!string.IsNullOrWhiteSpace(TolSearch?.ToString())) { parameters.Add(new CommandParameter("pTol", TolSearch.Value)); whereClause.Append(" AND subSelect.C_SZULETESIIDO >= CAST(:pTol AS datetime) "); } if (!string.IsNullOrWhiteSpace(IgSearch?.ToString())) { parameters.Add(new CommandParameter("pIg", IgSearch.Value)); whereClause.Append(" AND subSelect.C_SZULETESIIDO <= CAST(:pIg AS datetime) "); } if (!string.IsNullOrWhiteSpace(FelvetelStatuszaSearch?.ToString())) { parameters.Add(new CommandParameter("pFelvetelStatusza", FelvetelStatuszaSearch.Value)); whereClause.Append(" AND subSelect.C_FELVETELSTATUSZA = :pFelvetelStatusza"); } if (!string.IsNullOrWhiteSpace(FeladatellatasiHelyIdSearch?.ToString())) { parameters.Add(new CommandParameter("pFeladatellatasiHelyId", FeladatellatasiHelyIdSearch.Value)); whereClause.Append(" AND subSelect.C_FELADATELLATASIHELYID = :pFeladatellatasiHelyId"); } if (!string.IsNullOrWhiteSpace(KirSzolgaltatasSearch?.ToString())) { parameters.Add(new CommandParameter("pKirSzolgaltatasSearch", KirSzolgaltatasSearch.Value)); whereClause.Append(" AND subSelect.C_KIRSZOLGALTATASTIPUSID = :pKirSzolgaltatasSearch"); } if (!string.IsNullOrWhiteSpace(EtikaHitErkolcstanSearch?.ToString())) { parameters.Add(new CommandParameter("pEtikaHitErkolcstan", EtikaHitErkolcstanSearch.Value)); whereClause.Append(" AND subSelect.C_ETIKAHITERKOLCSTAN = :pEtikaHitErkolcstan"); } if (!string.IsNullOrWhiteSpace(OvodaAzonositojaVagyNeveSearch)) { parameters.Add(new CommandParameter(nameof(OvodaAzonositojaVagyNeveSearch), OvodaAzonositojaVagyNeveSearch)); whereClause.Append($" AND (subSelect.C_OVODANEVE LIKE '%'+ @{nameof(OvodaAzonositojaVagyNeveSearch)}+'%' OR subSelect.C_OVODAAZONOSITO LIKE '%'+ @{nameof(OvodaAzonositojaVagyNeveSearch)}+'%')"); } if (!string.IsNullOrWhiteSpace(EletvitelszeruOttLakasSearch?.ToString())) { parameters.Add(new CommandParameter("pEletvitelszeruOttLakas", EletvitelszeruOttLakasSearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_ELETVITELSZERUOTTLAKASKORZET = :pEletvitelszeruOttLakas"); } if (!string.IsNullOrWhiteSpace(SzakertoiBizottsagSearch?.ToString())) { parameters.Add(new CommandParameter("pSzakertoiBizottsag", SzakertoiBizottsagSearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_SZAKERTOIBIZOTTSAGKORMANYHIV = :pSzakertoiBizottsag"); } if (!string.IsNullOrWhiteSpace(SzuloTestverBetegSearch?.ToString())) { parameters.Add(new CommandParameter("pSzuloTestverBeteg", SzuloTestverBetegSearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_SZULOJETESTVERETARTOSANBETEG = :pSzuloTestverBeteg"); } if (!string.IsNullOrWhiteSpace(TestverAdottIntezmenyTanulojaSearch?.ToString())) { parameters.Add(new CommandParameter("pTestverAdottIntezmenyTanuloja", TestverAdottIntezmenyTanulojaSearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_TESTVEREAZINTEZMENYTANULOJA = :pTestverAdottIntezmenyTanuloja"); } if (!string.IsNullOrWhiteSpace(AzIskolaALakohelyetolSearch?.ToString())) { parameters.Add(new CommandParameter("pAzIskolaALakohelyetol", AzIskolaALakohelyetolSearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_AZISKOLAALAKOHELYETOLEGYKILO = :pAzIskolaALakohelyetol"); } if (!string.IsNullOrWhiteSpace(MunkaltatoiIgazolasSearch?.ToString())) { parameters.Add(new CommandParameter("pMunkaltatoiIgazolas", MunkaltatoiIgazolasSearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_SZULOJENEKMUNKAHELYEAZISKOLA = :pMunkaltatoiIgazolas"); } if (!string.IsNullOrWhiteSpace(SNISearch?.ToString())) { parameters.Add(new CommandParameter("pSNI", SNISearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_SNI = :pSNI"); } if (!string.IsNullOrWhiteSpace(BTMSearch?.ToString())) { parameters.Add(new CommandParameter("pBTM", BTMSearch.Value == 0 ? "F" : "T")); whereClause.Append(" AND subSelect.C_BTM = :pBTM"); } return whereClause; } } }