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(); 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; } } }