kreta/Kreta.DataAccessManual/KozmuSzamlaDal.cs
2024-03-13 00:33:46 +01:00

150 lines
5 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Framework.Util;
using SDA.Kreta.Entities;
namespace Kreta.DataAccessManual
{
internal class KozmuszamlaDal : DataAccessBase, IKozmuszamlaDal
{
public KozmuszamlaDal(DalHandler handler, GridParameters parameters) : base(handler, parameters)
{
}
public KozmuszamlaDal(DalHandler handler) : base(handler)
{
}
public IKozmuSzamla Get()
{
return KozmuSzamla.GiveAnInstance();
}
public IKozmuSzamla Get(int id)
{
var entity = KozmuSzamla.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
public void FullUpdate(IKozmuSzamla dto)
{
var entity = dto as KozmuSzamla;
entity.FullUpdate(true);
DalHelper.Commit();
}
public void Update(IKozmuSzamla dto)
{
var entity = dto as KozmuSzamla;
entity.FullUpdate();
DalHelper.Commit();
}
public void Insert(IKozmuSzamla dto)
{
var entity = dto as KozmuSzamla;
entity.Insert(true);
dto.ID = entity.ID;
DalHelper.Commit();
}
public void Delete(int id)
{
var entity = KozmuSzamla.GiveAnInstance();
entity.LoadByID(id);
entity.Delete();
DalHelper.Commit();
}
public DataSet KozmuszamlaKereses(
int tanevId,
int intezmenyId,
DateTime? fizetesiHataridoTol,
DateTime? fizetesiHataridoIg,
int? isFizetve,
string kibocsato,
int? kozmuSzamlaTipusId,
double? osszegTol,
double? osszegIg)
{
var paramsList = new List<CommandParameter>();
paramsList.Add(new CommandParameter("pTanevId", tanevId));
paramsList.Add(new CommandParameter("pIntezmenyId", intezmenyId));
var command = new StringBuilder(@"
SELECT
kozmuszamla.ID KozmuszamlaId
,kozmuszamla.C_FIZETESIHATARIDO FizetesiHatarido
,kozmuszamla.C_FIZETVE Fizetve
,kozmuszamla.C_KIBOCSATO Kibocsato
,kozmuszamla.C_KOZMUSZAMLATIPUSID KozmuszamlaTipus
,kozmuszamla.C_OSSZEG Osszeg
,kozmuszamla.C_PENZNEMID PenznemId
FROM
T_KOZMUSZAMLA_OSSZES kozmuszamla
WHERE
kozmuszamla.C_TANEVID = :pTanevId
AND kozmuszamla.C_TANEVID = :pTanevId
AND kozmuszamla.C_INTEZMENYID = :pIntezmenyId
AND kozmuszamla.Torolt = 'F'
");
if (fizetesiHataridoTol.HasValue)
{
command.Append(@" AND kozmuszamla.C_FIZETESIHATARIDO >= :pFizetesiHataridoTol");
paramsList.Add(new CommandParameter("pFizetesiHataridoTol", fizetesiHataridoTol));
}
if (fizetesiHataridoIg.HasValue)
{
command.Append(@" AND kozmuszamla.C_FIZETESIHATARIDO <= :pFizetesiHataridoIg");
paramsList.Add(new CommandParameter("pFizetesiHataridoIg", fizetesiHataridoIg));
}
if (isFizetve.HasValue)
{
if (isFizetve.Value == 1)
{
command.Append(@" AND kozmuszamla.C_FIZETVE = 'T'");
}
if (isFizetve.Value == 0)
{
command.Append(@" AND kozmuszamla.C_FIZETVE = 'F'");
}
}
if (kozmuSzamlaTipusId.HasValue)
{
command.Append(@" AND kozmuszamla.C_KOZMUSZAMLATIPUSID = :pKozmuSzamlaTipusId");
paramsList.Add(new CommandParameter("pKozmuSzamlaTipusId", kozmuSzamlaTipusId));
}
if (!string.IsNullOrWhiteSpace(kibocsato))
{
command.Append($" AND LOWER(kozmuszamla.C_KIBOCSATO) like '%' + @{nameof(kibocsato)} + '%'");
paramsList.Add(new CommandParameter(nameof(kibocsato), kibocsato.ToLowerInvariant()));
}
if (osszegTol.HasValue)
{
command.Append(@" AND kozmuszamla.C_OSSZEG >= :pOsszegTol");
paramsList.Add(new CommandParameter("pOsszegTol", osszegTol));
}
if (osszegIg.HasValue)
{
command.Append(@" AND kozmuszamla.C_OSSZEG <= :pOsszegIg");
paramsList.Add(new CommandParameter("pOsszegIg", osszegIg));
}
var ds = this.GetData(command.ToString(), paramsList, dictionaryItemColumns: "KozmuszamlaTipus,PenznemId", booleanColumns: "Fizetve");
return ds;
}
}
}