218 lines
6.7 KiB
C#
218 lines
6.7 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using Kreta.Core;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Framework;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class ZaradekDal : DataAccessBase, IZaradekDal
|
|
{
|
|
public ZaradekDal(DalHandler handler) : base(handler)
|
|
{
|
|
}
|
|
|
|
public void Delete(int id)
|
|
{
|
|
var entity = Zaradek.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
|
|
Delete(entity);
|
|
}
|
|
|
|
public void Delete(IZaradek dto)
|
|
{
|
|
var entity = dto as Zaradek;
|
|
|
|
entity.ZaradekNyelv?.DeleteAll();
|
|
|
|
entity.Delete();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void DeleteIdegenNyelv(int id)
|
|
{
|
|
var entity = ZaradekNyelv.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
DeleteIdegenNyelv(entity);
|
|
}
|
|
|
|
public void DeleteIdegenNyelv(IZaradekNyelv dto)
|
|
{
|
|
var entity = dto as ZaradekNyelv;
|
|
entity.Delete();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void DeleteAll(List<int> tanuloCsoportIdList, int felhasznaloId, bool isOsztalyList)
|
|
{
|
|
if (tanuloCsoportIdList.Count > 0)
|
|
{
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = "uspDeleteAllZaradekokAndZaradekNyelvekByTanulocsoportok";
|
|
|
|
command.Parameters.Add("pModifierId", felhasznaloId);
|
|
command.Parameters.Add("pTanuloCsoportIdList", string.Join(",", tanuloCsoportIdList));
|
|
command.Parameters.Add("pIsOsztalyList", isOsztalyList);
|
|
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void DeleteLasts(List<int> tanuloCsoportIdList, int felhasznaloId, bool isOsztalyList)
|
|
{
|
|
if (tanuloCsoportIdList.Count > 0)
|
|
{
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = "uspDeleteLastsZaradekokAndZaradekNyelvekByTanulocsoportok";
|
|
|
|
command.Parameters.Add("pModifierId", felhasznaloId);
|
|
command.Parameters.Add("pTanuloCsoportIdList", string.Join(",", tanuloCsoportIdList));
|
|
command.Parameters.Add("pIsOsztalyList", isOsztalyList);
|
|
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
}
|
|
|
|
public IZaradek Get(int id)
|
|
{
|
|
var entity = Zaradek.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public IZaradek Get()
|
|
{
|
|
return Zaradek.GiveAnInstance();
|
|
}
|
|
|
|
public IZaradekNyelv GetIdegenNyelv(int id)
|
|
{
|
|
var entity = ZaradekNyelv.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public IZaradekNyelv GetIdegenNyelv()
|
|
{
|
|
return ZaradekNyelv.GiveAnInstance();
|
|
}
|
|
|
|
public int Insert(IZaradek dto)
|
|
{
|
|
var entity = dto as Zaradek;
|
|
entity.Insert();
|
|
dto.ID = entity.ID;
|
|
DalHelper.Commit();
|
|
|
|
return dto.ID;
|
|
}
|
|
|
|
public int InsertIdegenNyelv(IZaradekNyelv dto)
|
|
{
|
|
var entity = dto as ZaradekNyelv;
|
|
entity.Insert();
|
|
dto.ID = entity.ID;
|
|
DalHelper.Commit();
|
|
|
|
return dto.ID;
|
|
}
|
|
|
|
public void Update(IZaradek dto)
|
|
{
|
|
var entity = dto as Zaradek;
|
|
entity.Update();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void FullUpdate(IZaradek dto)
|
|
{
|
|
var entity = dto as Zaradek;
|
|
|
|
entity.FullUpdate();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void UpdateIdegenNyelv(IZaradekNyelv dto)
|
|
{
|
|
var entity = dto as ZaradekNyelv;
|
|
entity.Update();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public DataSet GetZaradekok(int tanevId, int intezmenyId, List<int> nemzetiDokumentumNyelvek, int tanuloCsoportId, int? tanuloId = null)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspGetZaradekok";
|
|
|
|
command.Parameters.Add(nameof(tanevId), tanevId);
|
|
command.Parameters.Add(nameof(intezmenyId), intezmenyId);
|
|
command.Parameters.Add(nameof(tanuloCsoportId), SDADBType.Int).Value = tanuloCsoportId;
|
|
|
|
if (nemzetiDokumentumNyelvek.Count > 0)
|
|
{
|
|
command.Parameters.Add(nameof(nemzetiDokumentumNyelvek), string.Join(",", nemzetiDokumentumNyelvek));
|
|
}
|
|
|
|
if (tanuloId.IsEntityId())
|
|
{
|
|
command.Parameters.Add(nameof(tanuloId), SDADBType.Int).Value = tanuloId.Value;
|
|
}
|
|
|
|
var dts = new DataSet();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(dts);
|
|
}
|
|
|
|
return dts;
|
|
}
|
|
}
|
|
|
|
public DataSet GetTanuloKiVagyAtsorolasiZaradekai(int tanuloCsoportId, int zaradekId)
|
|
{
|
|
var parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanuloCsoportId", tanuloCsoportId),
|
|
new CommandParameter("pZaradekId", zaradekId)
|
|
};
|
|
|
|
const string command = @"
|
|
SELECT
|
|
Id
|
|
FROM T_ZARADEK_OSSZES
|
|
WHERE
|
|
C_ISKIVAGYATSOROLASIZARADEK = 'T'
|
|
AND TOROLT = 'F'
|
|
AND T_ZARADEK_OSSZES.C_TANULOCSOPORTID = :pTanuloCsoportId
|
|
AND Id <> :pZaradekId
|
|
";
|
|
|
|
return GetData(command, parameters);
|
|
|
|
}
|
|
}
|
|
}
|