using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.Util; using Kreta.Enums; using Kreta.Framework; using Kreta.Framework.Util; using SDA.Kreta.Entities; namespace Kreta.DataAccessManual { internal class RendszerBeallitasDAL : DataAccessBase, IRendszerBeallitasDAL { public RendszerBeallitasDAL(DalHandler handler, GridParameters parameters) : base(handler, parameters) { } public RendszerBeallitasDAL(DalHandler handler) : base(handler) { } public IRendszerBeallitas Get(RendszerBeallitasTipusEnum beallitasTipus, int tanevId) { return RendszerBeallitas.LoadWithFilter(string.Format(" and C_BEALLITASTIPUS = {0} AND C_TANEVID = {1}", (int)beallitasTipus, tanevId)).SingleOrDefault(); } public void FullUpdate(IRendszerBeallitas dto) { var entity = dto as RendszerBeallitas; entity.FullUpdate(); FollowUp(entity); DalHelper.Commit(); } public void ResetSystemSettings(int? intezmenyID, int? tanevID, List exceptSystemSettings) { using (SDA.DataProvider.SDACommand command = new SDA.DataProvider.SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.Text; command.CommandText = "UPDATE T_RENDSZERBEALLITAS_OSSZES SET C_ERTEK = C_ALAPERTEK WHERE C_INTEZMENYID = :pIntezmenyID AND C_TANEVID = :pTanevID"; command.Parameters.Add("pIntezmenyID", intezmenyID ?? -1); command.Parameters.Add("pTanevID", tanevID ?? -1); if (exceptSystemSettings != null && exceptSystemSettings.Count > 0) { command.CommandText += " AND C_BEALLITASTIPUS NOT IN (:pExceptSystemSettings)"; command.Parameters.Add("pExceptSystemSettings", string.Join(",", exceptSystemSettings.Select(x => x.ToString()).ToArray())); } var result = command.ExecuteNonQuery(); this.DalHelper.Commit(); } } public void FollowupRendszerBeallitas(int intezmenyID, int tanevID, int kovetkezoTanevID, int beallitasID) { using (SDA.DataProvider.SDACommand command = new SDA.DataProvider.SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspFollowUpRendszerBeallitas"; command.Parameters.Add("intezmenyId", intezmenyID); command.Parameters.Add("aktTanevId", tanevID); command.Parameters.Add("kovetkezoTanevId", kovetkezoTanevID); command.Parameters.Add("beallitasId", beallitasID); command.ExecuteNonQuery(); } DalHelper.Commit(); } } }