148 lines
4.4 KiB
C#
148 lines
4.4 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Ellenorzo.Dao.VN.Telefon;
|
|
using Kreta.Framework.Entities;
|
|
using Kreta.Framework.Util;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class TelefonDal : DataAccessBase, ITelefonDal
|
|
{
|
|
public TelefonDal(DalHandler handler) : base(handler)
|
|
{
|
|
|
|
}
|
|
|
|
public TelefonDal(DalHandler handler, GridParameters gridParameters) : base(handler, gridParameters)
|
|
{
|
|
|
|
}
|
|
|
|
public void SetTelefonAlapertelmezett(int tanuloId, int userId, int tanevId)
|
|
{
|
|
|
|
var commandText = @"
|
|
UPDATE
|
|
T_TELEFON_OSSZES
|
|
SET
|
|
C_ALAPERTELMEZETT = 'F',
|
|
SERIAL = SERIAL + 1,
|
|
LASTCHANGED = GETDATE(),
|
|
MODIFIER = :pUserId
|
|
WHERE
|
|
C_FELHASZNALOID = :pTanuloId
|
|
AND C_TANEVID = :pTanevId
|
|
AND C_GONDVISELOID IS NULL";
|
|
|
|
using (SDACommand command = DAUtil.CreateCommand(commandText))
|
|
{
|
|
command.Parameters.Add("pUserId", SDADBType.Int).Value = userId;
|
|
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public List<TelefonResponseDao> ListTelefon(List<int> felhasznaloIds, bool? isPublic)
|
|
{
|
|
var parameters = new List<CommandParameter>();
|
|
|
|
if (isPublic.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pIsPublic", isPublic.Value ? 'T' : 'F'));
|
|
}
|
|
|
|
var felhasznaloIdsString = SqlLogic.ParseListToParameter(felhasznaloIds).ToString();
|
|
var command = @"
|
|
SELECT
|
|
t.ID AS ID
|
|
,t.C_TELEFONSZAM AS Telefonszam
|
|
,t.C_TELEFONTIPUSA AS Tipus
|
|
,t.C_ALAPERTELMEZETT AS Alapertelmezett
|
|
,t.C_FELHASZNALOID AS FelhasznaloId
|
|
,t.C_GONDVISELOID AS GondviseloId
|
|
FROM T_TELEFON t
|
|
WHERE 1 = 1
|
|
" + (!string.IsNullOrWhiteSpace(felhasznaloIdsString) ? $@"AND t.C_FELHASZNALOID IN({felhasznaloIdsString}) " : "")
|
|
+ (isPublic.HasValue ? $@" AND t.C_ISPUBLIC = :pIsPublic " : "");
|
|
|
|
var dataSet = GetData(command, parameters);
|
|
DataTable dataTable = dataSet.Tables[0];
|
|
SetDNAME(dataTable, "Tipus");
|
|
|
|
return dataTable.AsDataSet().ToDaoList<TelefonResponseDao>();
|
|
}
|
|
|
|
public void Delete(int id)
|
|
{
|
|
var entity = Telefon.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
entity.Delete();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
public void Delete(ITelefon dto)
|
|
{
|
|
var entity = (Telefon)dto;
|
|
entity.Delete();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void FullUpdate(ITelefon dto)
|
|
{
|
|
var entity = dto as Telefon;
|
|
entity.FullUpdate();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void Update(ITelefon dto)
|
|
{
|
|
var entity = dto as Telefon;
|
|
entity.Update();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public ITelefon Get()
|
|
{
|
|
return Telefon.GiveAnInstance();
|
|
}
|
|
|
|
public ITelefon GetSpecific(string condition, int tanevId)
|
|
{
|
|
var entity = Telefon.LoadWithFilter(condition + $" AND C_TANEVID = {tanevId}").FirstOrDefault();
|
|
return entity;
|
|
}
|
|
|
|
public ITelefon Get(int id)
|
|
{
|
|
var entity = Telefon.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public void Insert(ITelefon dto)
|
|
{
|
|
var entity = dto as Telefon;
|
|
entity.Insert();
|
|
dto.ID = entity.ID;
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void AddFelhasznaloTelefon(IFelhasznalo felhasznalo, ITelefon telefon)
|
|
{
|
|
((Felhasznalo)felhasznalo).Telefon.Add((Telefon)telefon);
|
|
}
|
|
|
|
}
|
|
}
|