137 lines
6.1 KiB
C#
137 lines
6.1 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.Client.CoreApi;
|
|
using Kreta.Client.CoreApi.Response;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class FeltarGondviseloHelper : FeltarHelper
|
|
{
|
|
#region Constructors
|
|
|
|
public FeltarGondviseloHelper(IConnectionType connectionType) : base(connectionType)
|
|
{
|
|
}
|
|
|
|
#endregion Constructors
|
|
|
|
public bool IsEszkozIgenyelheto(ICoreApiClient coreApiClient, int gondviseloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var intezmenyDal = h.IntezmenyDal();
|
|
var tanevDal = h.TanevDal();
|
|
|
|
var intezmenyAdatok = intezmenyDal.Get(IntezmenyId);
|
|
var tanevAdatok = tanevDal.Get(TanevId);
|
|
|
|
var eszkozAdatok = new EszkozIgenylesHelper(new DalHandlerConnectionType(ConnectionType, h)).EszkozIgenylesGet(coreApiClient, intezmenyAdatok.Guid.ToString(), tanevAdatok.Sorszam.Value, null, gondviseloId);
|
|
|
|
return !eszkozAdatok.Any(x => x.ElfogadottAszf);
|
|
});
|
|
}
|
|
|
|
public bool IsEszkozIgenyelheto(int tanuloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
return h.EszkozigenylesDal().GetGondviseloEszkozIgenylesAdat(IntezmenyId, TanevId, tanuloId).Tables[0].Rows.Count < 1;
|
|
});
|
|
}
|
|
|
|
public bool? IsRegisztralt(int tanuloId, int gondviseloId)
|
|
{
|
|
var dataSet = Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
return h.EszkozigenylesDal().GetGondviseloEszkozIgenylesAdat(IntezmenyId, TanevId, tanuloId);
|
|
});
|
|
return dataSet.Tables[0].Rows.Count < 1 ? (bool?)null : SDAConvert.ToInt32(dataSet.Tables[0].Rows[0]["C_GONDVISELOID"]) == gondviseloId;
|
|
}
|
|
|
|
public bool EszkozIgenyles(ICoreApiClient coreApiClient, int gondviseloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var intezmenyDal = h.IntezmenyDal();
|
|
var tanevDal = h.TanevDal();
|
|
|
|
var intezmenyAdatok = intezmenyDal.Get(IntezmenyId);
|
|
var tanevAdatok = tanevDal.Get(TanevId);
|
|
|
|
var eszkozIgenylesDto = new EszkozIgenylesCreateDto() { GondviseloId = gondviseloId, ElfogadottAszf = true };
|
|
|
|
var response = new EszkozIgenylesHelper(new DalHandlerConnectionType(ConnectionType, h)).EszkozIgenylesInsert(coreApiClient, eszkozIgenylesDto, intezmenyAdatok.Guid.ToString(), tanevAdatok.Sorszam.Value);
|
|
|
|
if (response.IsEntityId())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.SikertelenMentes);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void EszkozIgenyles(int tanuloId, int gondviseloId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var tanuloOsztalyCsoportjai = h.OsztalyCsoport().GetTanuloOsztalyCsoportjai(tanuloId);
|
|
|
|
var egyediFeladatEllatasiHelyIdSorrend = new List<int> { (int)OktNevelesiKategoriaEnum.NevelesOktatas, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, (int)OktNevelesiKategoriaEnum.EGYMI, (int)OktNevelesiKategoriaEnum.Kollegium, (int)OktNevelesiKategoriaEnum.Felnottkepzes };
|
|
|
|
IEszkozIgenyles eszkozIgenyles = h.EszkozigenylesDal().Get();
|
|
eszkozIgenyles.IntezmenyId = IntezmenyId;
|
|
eszkozIgenyles.TanevId = TanevId;
|
|
eszkozIgenyles.TanuloId = tanuloId;
|
|
eszkozIgenyles.GondviseloId = gondviseloId;
|
|
eszkozIgenyles.IsElfogadottAszf = true;
|
|
var list = tanuloOsztalyCsoportjai.Where(x => Core.Constants.FeltarEvfolyamList.Contains(x.EvfolyamTipusa));
|
|
if (list.Any())
|
|
{
|
|
eszkozIgenyles.FeladatEllatasiHelyId = list.OrderBy(x => egyediFeladatEllatasiHelyIdSorrend.IndexOf(x.FeladatKategoriaId.Value)).FirstOrDefault().FeladatEllatasiHelyId;
|
|
}
|
|
else
|
|
{
|
|
var tanulo = new TanuloHelper(ConnectionType).GetTanuloiAdatok(tanuloId, null, true, true);
|
|
if (tanulo.IsOsszevontOsztaly && Core.Constants.FeltarEvfolyamList.Contains(tanulo.TanuloEvfolyamTipus.Value))
|
|
{
|
|
eszkozIgenyles.FeladatEllatasiHelyId = h.OsztalyCsoport().Get(tanulo.OsztalyId.Value).FeladatEllatasiHelyId;
|
|
}
|
|
}
|
|
|
|
eszkozIgenyles.EszkozIgenylesStatuszId = (int)EszkozIgenylesStatuszEnum.regisztraciot_benyujtotta;
|
|
|
|
h.EszkozigenylesDal().Insert(eszkozIgenyles);
|
|
});
|
|
}
|
|
|
|
public int? GetTanuloOsztalyaEszkozigenyles(int tanuloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.OsztalyCsoport();
|
|
var ds = dal.GetTanuloOsztalyEsFeladatkategoriaList(tanuloId, TanevId, IntezmenyId);
|
|
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
var tanuloOsztalyCsoportjai = ds.Tables[0].AsEnumerable().Select(x => new { ID = x.Field<int>("ID"), FeladatKategoriaId = x.Field<int>("FeladatKategoriaId") });
|
|
var egyediFeladatEllatasiHelyIdSorrend = new List<int> { (int)OktNevelesiKategoriaEnum.NevelesOktatas, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, (int)OktNevelesiKategoriaEnum.EGYMI, (int)OktNevelesiKategoriaEnum.Kollegium, (int)OktNevelesiKategoriaEnum.Felnottkepzes };
|
|
return tanuloOsztalyCsoportjai.OrderBy(x => egyediFeladatEllatasiHelyIdSorrend.IndexOf(x.FeladatKategoriaId)).FirstOrDefault().ID;
|
|
}
|
|
return (int?)null;
|
|
});
|
|
}
|
|
|
|
}
|
|
}
|