378 lines
14 KiB
C#
378 lines
14 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Xml.Serialization;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Model;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Util;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class CsengetesiRendOrakDal : DataAccessBase, ICsengetesiRendOrakDal
|
|
{
|
|
public CsengetesiRendOrakDal(DalHandler handler, GridParameters parameters) : base(handler, parameters)
|
|
{
|
|
|
|
}
|
|
|
|
public CsengetesiRendOrakDal(DalHandler handler) : base(handler)
|
|
{
|
|
|
|
}
|
|
|
|
public void UpdateCsengetesiRend(int? newCsengetesiRendId, int? oldCsengetesiRendId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandText = "uspUpdateCsengetesiRend";
|
|
command.Parameters.Add("newCsengetesiRendId", newCsengetesiRendId);
|
|
command.Parameters.Add("oldCsengetesiRendId", oldCsengetesiRendId);
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public DataSet GetCsengetesiiRendKapcsolodoOra(int csengetesiRendId, int tanevId, int intezmenyId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspGetCsengetesiiRendKapcsolodoOra";
|
|
|
|
command.Parameters.Add("pCsengetesiRendId", csengetesiRendId);
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
|
|
var dataSet = new DataSet();
|
|
using (var sdaDataAdapter = new SDADataAdapter())
|
|
{
|
|
sdaDataAdapter.SelectCommand = command;
|
|
sdaDataAdapter.Fill(dataSet);
|
|
}
|
|
|
|
return dataSet;
|
|
}
|
|
}
|
|
|
|
public DataSet GetCsengetesiiRendKapcsolodoOraKezdeteVege(int csengetesiRendId, int tanevId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspGetCsengetesiiRendKapcsolodoOraKezdeteVege";
|
|
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pCsengetesiRendId", csengetesiRendId);
|
|
|
|
var dataSet = new DataSet();
|
|
using (var sdaDataAdapter = new SDADataAdapter())
|
|
{
|
|
sdaDataAdapter.SelectCommand = command;
|
|
sdaDataAdapter.Fill(dataSet);
|
|
}
|
|
|
|
return dataSet;
|
|
}
|
|
}
|
|
|
|
public DataSet GetCsengetesiRendOraiForGrid(int csengetesiRendId, bool onlyReal)
|
|
{
|
|
var parameters = new List<CommandParameter>() { new CommandParameter("pCsengetesiRendID", csengetesiRendId) };
|
|
|
|
var commandText = @"
|
|
SELECT
|
|
Oraszam AS ID,
|
|
ID AS CsengetesiRendOraId,
|
|
Kezdete,
|
|
Vege,
|
|
Oraszam,
|
|
CsengrendId,
|
|
CASE
|
|
WHEN ID is null
|
|
THEN 'F'
|
|
ELSE 'T'
|
|
END AS IsReal
|
|
FROM (( SELECT DISTINCT number AS Oraszam
|
|
FROM master..[spt_values]
|
|
WHERE number BETWEEN 0 AND 49 ) AS mask
|
|
LEFT JOIN (SELECT
|
|
[ID] ID
|
|
,left(cast(C_KEZDETE as time),5) Kezdete
|
|
,left(cast(c_VEGE as time),5) Vege
|
|
,[C_ORASZAM] RealOraszam
|
|
,[C_CSENGETESIRENDID] CsengrendId
|
|
FROM [T_CSENGETESIRENDORA_OSSZES]
|
|
WHERE [TOROLT] ='F'
|
|
AND [C_CSENGETESIRENDID] = :pCsengetesiRendID ) data ON mask.Oraszam = data.RealOraszam)
|
|
";
|
|
|
|
if (onlyReal)
|
|
{
|
|
commandText += "WHERE ID IS NOT NULL";
|
|
}
|
|
|
|
DataSet ds = GetData(commandText, parameters, booleanColumns: "IsReal");
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetCsengetesiOrakKezdVeg(int tanevId, int intezmenyId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspGetCsengetesiOrakKezdVeg";
|
|
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
|
|
var dataSet = new DataSet();
|
|
using (var sdaDataAdapter = new SDADataAdapter())
|
|
{
|
|
sdaDataAdapter.SelectCommand = command;
|
|
sdaDataAdapter.Fill(dataSet);
|
|
}
|
|
|
|
return dataSet;
|
|
}
|
|
}
|
|
|
|
public DataSet GetCsengetesirendOrakNaptarhoz(int tanevId, int? csengetesiRendId)
|
|
{
|
|
var parameters = new List<CommandParameter>();
|
|
string whereClause = "";
|
|
parameters.Add(new CommandParameter("pTanevId", tanevId));
|
|
|
|
if (csengetesiRendId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pCsengetesiRendId", csengetesiRendId));
|
|
whereClause += " AND T_CSENGETESIREND_OSSZES.ID = :pCsengetesiRendId";
|
|
}
|
|
else
|
|
{
|
|
whereClause += " AND T_CSENGETESIREND_OSSZES.C_AKTIV = 'T'";
|
|
}
|
|
|
|
var commandText = @"
|
|
SELECT
|
|
T_CSENGETESIRENDORA_OSSZES.ID
|
|
,T_CSENGETESIRENDORA_OSSZES.C_KEZDETE
|
|
,T_CSENGETESIRENDORA_OSSZES.C_VEGE
|
|
,T_CSENGETESIRENDORA_OSSZES.C_ORASZAM
|
|
FROM
|
|
T_CSENGETESIRENDORA_OSSZES
|
|
INNER JOIN
|
|
T_CSENGETESIREND_OSSZES ON
|
|
T_CSENGETESIREND_OSSZES.ID = T_CSENGETESIRENDORA_OSSZES.C_CSENGETESIRENDID
|
|
WHERE
|
|
T_CSENGETESIRENDORA_OSSZES.TOROLT = 'F'
|
|
AND T_CSENGETESIRENDORA_OSSZES.C_TANEVID = :pTanevId"
|
|
+ whereClause;
|
|
|
|
DataSet ds = GetData(commandText, parameters);
|
|
return ds;
|
|
}
|
|
|
|
public int CsengetesiRendOrakTorles(List<int> torlendok, int tanevId)
|
|
{
|
|
var torlendokXml = new CsengetesiRendOraTorlesXml();
|
|
foreach (var id in torlendok)
|
|
{
|
|
torlendokXml.Ids.Add(id);
|
|
}
|
|
|
|
string xml;
|
|
var serializer = new XmlSerializer(typeof(CsengetesiRendOraTorlesXml));
|
|
using (var stream = new StringWriter())
|
|
{
|
|
serializer.Serialize(stream, torlendokXml);
|
|
xml = stream.ToString();
|
|
}
|
|
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.Parameters.Add("xml", xml);
|
|
command.Parameters.Add("TanevId", tanevId);
|
|
command.CommandText = @"sp_CsengetesiRendOrakTorles";
|
|
|
|
var result = command.ExecuteScalar();
|
|
int id;
|
|
|
|
DalHelper.Commit();
|
|
|
|
if (result != null && int.TryParse(result.ToString(), out id))
|
|
{
|
|
return id;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
public int Delete(int id)
|
|
{
|
|
var entity = CsengetesiRendOra.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
|
|
entity.Delete(true);
|
|
DalHelper.Commit();
|
|
|
|
return entity.CsengetesiRendId;
|
|
}
|
|
|
|
public ICsengetesiRendOra Get()
|
|
{
|
|
return CsengetesiRendOra.GiveAnInstance();
|
|
}
|
|
|
|
public ICsengetesiRendOra Get(int id)
|
|
{
|
|
var entity = CsengetesiRendOra.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public void Insert(ICsengetesiRendOra dto)
|
|
{
|
|
var entity = dto as CsengetesiRendOra;
|
|
entity.Insert();
|
|
|
|
dto.ID = entity.ID;
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void Update(ICsengetesiRendOra dto)
|
|
{
|
|
var entity = dto as CsengetesiRendOra;
|
|
entity.Update();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void UpdateOrarendiOraVisszamenolegesen(int csengetesiRendOraId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandText = "sp_UpdateOrarendiOraVisszamenolegesen";
|
|
command.Parameters.Add("csengetesiRendOraId", csengetesiRendOraId);
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public int? GetCsengetesiRendOraIdByIdAndOraszam(int csengRendId, int oraszam, int tanevId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspGetCsengetesiRendOraIdByIdAndOraszam";
|
|
|
|
command.Parameters.Add("pcsengRendId", csengRendId);
|
|
command.Parameters.Add("poraszam", oraszam);
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
|
|
var result = command.ExecuteScalar();
|
|
if (result != null)
|
|
{
|
|
if (int.TryParse(result.ToString(), out var intres))
|
|
{
|
|
return intres;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public DataSet CheckOrarendiOraOraszamIdopont(int intezmenyId, int tanevId, int csengetesiRendId, int oraszam)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspCheckOrarendiOraOraszamIdopont";
|
|
|
|
command.Parameters.Add("pIntezmenyId", intezmenyId);
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pCsengetesiRendId", csengetesiRendId);
|
|
command.Parameters.Add("pOraszam", oraszam);
|
|
|
|
var dataSet = new DataSet();
|
|
using (var sdaDataAdapter = new SDADataAdapter())
|
|
{
|
|
sdaDataAdapter.SelectCommand = command;
|
|
sdaDataAdapter.Fill(dataSet);
|
|
}
|
|
|
|
return dataSet;
|
|
}
|
|
}
|
|
|
|
public DataSet ReferencesCount(int csengetesiRendOraId, int tanevId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspReferencesCount";
|
|
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pCsengetesiRendOraId", csengetesiRendOraId);
|
|
|
|
var dataSet = new DataSet();
|
|
using (var sdaDataAdapter = new SDADataAdapter())
|
|
{
|
|
sdaDataAdapter.SelectCommand = command;
|
|
sdaDataAdapter.Fill(dataSet);
|
|
}
|
|
|
|
return dataSet;
|
|
}
|
|
}
|
|
|
|
public void FollowUpCsengetesiRendOra(int intezmenyId, int aktTanevId, int kovetkezoTanevId, int csnegetesiRendOraId, int csengetesiRendId, bool isVisszamenoleges)
|
|
{
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandText = "uspFollowUpcsengetesiRendOra";
|
|
command.Parameters.Add("intezmenyId", intezmenyId);
|
|
command.Parameters.Add("aktTanevId", aktTanevId);
|
|
command.Parameters.Add("kovetkezoTanevId", kovetkezoTanevId);
|
|
command.Parameters.Add("csengetesiRendOraId", csnegetesiRendOraId);
|
|
command.Parameters.Add("csengetesiRendId", csengetesiRendId);
|
|
command.Parameters.Add("isVisszamenoleges", isVisszamenoleges);
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|