178 lines
5.4 KiB
C#
178 lines
5.4 KiB
C#
using System.Data;
|
|
using Kreta.Core;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Util;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class JelszoModositasLinkDal : DataAccessBase, IJelszoModositasLinkDal
|
|
{
|
|
public JelszoModositasLinkDal(DalHandler handler, GridParameters parameters)
|
|
: base(handler, parameters)
|
|
{
|
|
|
|
}
|
|
|
|
public JelszoModositasLinkDal(DalHandler handler) : base(handler)
|
|
{
|
|
|
|
}
|
|
|
|
public IJelszoModositasLink Get()
|
|
{
|
|
return JelszoModositasLink.GiveAnInstance();
|
|
}
|
|
|
|
public IJelszoModositasLink Get(int id)
|
|
{
|
|
var entity = JelszoModositasLink.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public int? GetId(string guid)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(guid))
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add(nameof(guid), guid);
|
|
|
|
command.CommandText = $@"
|
|
SELECT link.ID
|
|
FROM T_JELSZOMODOSITASLINK link
|
|
INNER JOIN T_TANEV tanev ON tanev.ID = link.C_TANEVID AND tanev.C_INTEZMENYID = link.C_INTEZMENYID AND tanev.C_AKTIV = 'T' AND tanev.TOROLT = 'F'
|
|
WHERE link.C_AZONOSITO = @{nameof(guid)}
|
|
AND link.TOROLT = 'F'
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
if (int.TryParse(result?.ToString(), out int res))
|
|
{
|
|
return res;
|
|
}
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public void FullUpdate(IJelszoModositasLink dto)
|
|
{
|
|
var entity = dto as JelszoModositasLink;
|
|
entity.FullUpdate(true);
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void Update(IJelszoModositasLink dto)
|
|
{
|
|
var entity = dto as JelszoModositasLink;
|
|
entity.FullUpdate();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void Insert(IJelszoModositasLink dto)
|
|
{
|
|
var entity = dto as JelszoModositasLink;
|
|
entity.Insert(true);
|
|
|
|
dto.ID = entity.ID;
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void Delete(int id)
|
|
{
|
|
var entity = JelszoModositasLink.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
|
|
Delete(entity);
|
|
}
|
|
|
|
public void Delete(IJelszoModositasLink dto)
|
|
{
|
|
var entity = dto as JelszoModositasLink;
|
|
|
|
entity.Delete();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public string GetGuidByGondviseloId(int gondviseloId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add(nameof(gondviseloId), gondviseloId);
|
|
|
|
command.CommandText = $@"
|
|
SELECT link.C_AZONOSITO
|
|
FROM T_JELSZOMODOSITASLINK link
|
|
INNER JOIN T_TANEV tanev ON tanev.ID = link.C_TANEVID AND tanev.C_INTEZMENYID = link.C_INTEZMENYID AND tanev.C_AKTIV = 'T' AND tanev.TOROLT = 'F'
|
|
WHERE link.C_GONDVISELOID = @{nameof(gondviseloId)}
|
|
AND link.TOROLT = 'F'
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
|
|
return result?.ToString() ?? null;
|
|
}
|
|
}
|
|
|
|
public void DeleteIfExists(int felhasznaloId, int? gondviseloId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add(nameof(felhasznaloId), felhasznaloId);
|
|
var gondviseloSzures = string.Empty;
|
|
if (gondviseloId.IsEntityId())
|
|
{
|
|
command.Parameters.Add(nameof(gondviseloId), gondviseloId);
|
|
gondviseloSzures = $" AND link.C_GONDVISELOID = @{nameof(gondviseloId)} ";
|
|
}
|
|
else
|
|
{
|
|
gondviseloSzures = $" AND link.C_GONDVISELOID IS NULL ";
|
|
}
|
|
|
|
command.CommandText = $@"
|
|
UPDATE link
|
|
SET link.TOROLT = 'T'
|
|
FROM T_JELSZOMODOSITASLINK link
|
|
INNER JOIN T_TANEV tanev ON tanev.ID = link.C_TANEVID AND tanev.C_INTEZMENYID = link.C_INTEZMENYID AND tanev.C_AKTIV = 'T' AND tanev.TOROLT = 'F'
|
|
WHERE link.C_FELHASZNALOID = @{nameof(felhasznaloId)}
|
|
AND link.TOROLT = 'F'
|
|
{gondviseloSzures}
|
|
";
|
|
|
|
int numberOfUpdatedRows = command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public void DeleteInvalidLinks()
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = "uspDeleteInvalidLinks";
|
|
|
|
command.ExecuteNonQuery();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
}
|
|
}
|