124 lines
5.1 KiB
C#
124 lines
5.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using Kreta.Core;
|
|
using Kreta.DataAccessManual.Util;
|
|
|
|
namespace Kreta.DataAccessManual.ParameterClasses
|
|
{
|
|
public class OsztalySearchPco
|
|
{
|
|
public DateTime SearchDate { get; set; }
|
|
public string OsztalyNev { get; set; }
|
|
public int? EvfolyamId { get; set; }
|
|
public int? OsztalyfonokId { get; set; }
|
|
public int? TeremId { get; set; }
|
|
public int? Vegzos { get; set; }
|
|
public int? OsztalyfonokHelyettesId { get; set; }
|
|
public int? KepzesId { get; set; }
|
|
public int? TantervId { get; set; }
|
|
public DateTime? NaploMegnyitasDatum { get; set; }
|
|
public int? FeladatEllatasiHelyId { get; set; }
|
|
public DateTime? NaploLezarasDatum { get; set; }
|
|
public bool? UresOsztaly { get; set; }
|
|
public bool? NincsEvfolyamJellmezo { get; set; }
|
|
public bool? NincsOsztalyfonok { get; set; }
|
|
|
|
public int? FeladatKategoriaId { get; set; }
|
|
public int? SearchMuveszetiAgId { get; set; }
|
|
|
|
/// <param name="parameters">Paraméterek listája.</param>
|
|
/// <param name="osztalycsoportAlias">T_OSZTALYCSOPORT_OSSZES -re használt alias, ha van.</param>
|
|
/// <param name="osztalyAlias">T_OSZTALY_OSSZES -re használt alias, ha van.</param>
|
|
public StringBuilder ToWhereClause(IList<CommandParameter> parameters, string osztalycsoportAlias = "T_OSZTALYCSOPORT_OSSZES", string osztalyAlias = "T_OSZTALY_OSSZES")
|
|
{
|
|
StringBuilder whereClause = new StringBuilder();
|
|
|
|
if (!string.IsNullOrWhiteSpace(OsztalyNev))
|
|
{
|
|
whereClause.Append($" AND LOWER({osztalycsoportAlias}.C_NEV) LIKE '%' + @{nameof(OsztalyNev)} + '%'");
|
|
parameters.Add(new CommandParameter(nameof(OsztalyNev), OsztalyNev.ToLowerInvariant()));
|
|
}
|
|
|
|
if (EvfolyamId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_EVFOLYAMTIPUSA = :pEvfolyamID");
|
|
parameters.Add(new CommandParameter("pEvfolyamID", EvfolyamId));
|
|
}
|
|
|
|
if (OsztalyfonokId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalyAlias}.C_OSZTALYFONOKID = :pOsztFoID");
|
|
parameters.Add(new CommandParameter("pOsztFoID", OsztalyfonokId));
|
|
}
|
|
|
|
if (TeremId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_TEREMID = :pTeremID");
|
|
parameters.Add(new CommandParameter("pTeremID", TeremId));
|
|
}
|
|
|
|
if (Vegzos.HasValue)
|
|
{
|
|
if (Vegzos == 1)
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_VEGZOSEVFOLYAM = 'T'");
|
|
}
|
|
else if (Vegzos == 0)
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_VEGZOSEVFOLYAM = 'F'");
|
|
}
|
|
}
|
|
|
|
if (OsztalyfonokHelyettesId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalyAlias}.C_OFOHELYETTESID = :pOsztFoHelyID");
|
|
parameters.Add(new CommandParameter("pOsztFoHelyID", OsztalyfonokHelyettesId));
|
|
}
|
|
|
|
if (KepzesId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_KEPZESIFORMA = :pKepzesID");
|
|
parameters.Add(new CommandParameter("pKepzesID", KepzesId));
|
|
}
|
|
|
|
if (TantervId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalyAlias}.C_TANTERVID = :pTantervID");
|
|
parameters.Add(new CommandParameter("pTantervID", TantervId));
|
|
}
|
|
|
|
if (NaploMegnyitasDatum.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalyAlias}.C_OSZTALYNAPLOMEGNYITASA >= :pMegynitDatum");
|
|
parameters.Add(new CommandParameter("pMegynitDatum", NaploMegnyitasDatum));
|
|
}
|
|
|
|
if (NaploLezarasDatum.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalyAlias}.C_OSZTALYNAPLOZARASA <= :pZarasDatum");
|
|
parameters.Add(new CommandParameter("pZarasDatum", NaploLezarasDatum));
|
|
}
|
|
|
|
if (FeladatEllatasiHelyId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_FELADATELLATASIHELYID = :pFeladatEllatasiHelyID");
|
|
parameters.Add(new CommandParameter("pFeladatEllatasiHelyID", FeladatEllatasiHelyId));
|
|
}
|
|
|
|
if (FeladatKategoriaId.IsEntityId())
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_FELADATKATEGORIAID = :pFeladatKategoriaId");
|
|
parameters.Add(new CommandParameter("pFeladatKategoriaId", FeladatKategoriaId));
|
|
}
|
|
|
|
if (SearchMuveszetiAgId.HasValue)
|
|
{
|
|
whereClause.Append($@" AND {osztalycsoportAlias}.C_MUVESZETIAGID = :pMuveszetiAgId");
|
|
parameters.Add(new CommandParameter("pMuveszetiAgId", SearchMuveszetiAgId));
|
|
}
|
|
|
|
return whereClause;
|
|
}
|
|
}
|
|
}
|