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