673 lines
36 KiB
C#
673 lines
36 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.HelperClasses.ApaczaiProgramCOs;
|
|
using Kreta.Client.KGR;
|
|
using Kreta.Client.KGR.Request;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class TanuloApaczaiHelper : LogicBase
|
|
{
|
|
public TanuloApaczaiHelper(IConnectionType connectionType) : base(connectionType)
|
|
{
|
|
}
|
|
|
|
public bool CreatePalyazat(IKGRClient client, ApaczaiPalyazatFelvetelRequest kgrRequestModel)
|
|
{
|
|
var palyazat = client.CreateApaczaiPalyazat(kgrRequestModel);
|
|
return palyazat != null;
|
|
}
|
|
|
|
public bool PalyazatAdategyeztetes(IKGRClient client, ApaczaiPalyazatFelvetelRequest kgrRequestModel)
|
|
{
|
|
var palyazat = client.PalyazatAdategyeztetes(kgrRequestModel);
|
|
return palyazat != null;
|
|
}
|
|
|
|
public ApaczaiPalyazatFelvetelRequest GetApaczaiPalyazatFelvetelRequest(TanuloAdatokCo model, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
|
|
var tanuloOktatasNevelesAdatok = GetTanuloiAdatok(model, isSelectedTanev20_21OrLater, isSelectedTanev21_22OrLater);
|
|
|
|
var kgrRequestModel = new ApaczaiPalyazatFelvetelRequest()
|
|
{
|
|
TanevId = tanevSorszam,
|
|
Palyazo = new ApaczaiPalyazatPalyazo
|
|
{
|
|
Allampolgarsag = model.Allampolgarsag,
|
|
Allampolgarsag2 = model.Allampolgarsag2,
|
|
Anyanyelv = model.Anyanyelv,
|
|
AnyjaSzuletesiCsaladiNev = model.AnyjaCsaladiNeve,
|
|
AnyjaSzuletesiUtonev = model.AnyjaUtonev,
|
|
CsaladiNev = model.CsaladiNev,
|
|
EloTag = model.EloTag,
|
|
FenntartoAzonosito = model.FenntartoAzonosito,
|
|
FenntartoNev = model.FenntartoNev,
|
|
IntezmenyEgyediAzonosito = model.IntezmenyEgyediAzonosito,
|
|
IntezmenyNev = model.IntezmenyNev,
|
|
IntezmenyAzonosito = model.IntezmenyAzonosito,
|
|
IdpEgyediAzonosito = model.IdpEgyediAzonosito,
|
|
OktatasiAzonosito = model.OktatasiAzonosito,
|
|
SzuletesiCsaladNev = model.SzuletesiCsaladNev,
|
|
SzuletesiHely = model.SzuletesiHely,
|
|
SzuletesiIdo = model.SzuletesiIdo,
|
|
SzuletesiOrszag = model.SzuletesiOrszag,
|
|
SzuletesiUtonev = model.SzuletesiUtonev,
|
|
Utonev = model.Utonev,
|
|
Bankszamla = new ApaczaiPalyazatBankszamla
|
|
{
|
|
BankszamlaSzam = model.BankszamlaSzam,
|
|
BankszamlaTulajdonosNeve = model.BankszamlaTulajdonosNeve,
|
|
BankszamlaTulajdonosa = model.BankszamlaTulajdonos,
|
|
SzamlavezetoBank = model.SzamlavezetoBank,
|
|
},
|
|
AllandoElerhetoseg = model.AllandoElerhetoseg != null && !string.IsNullOrWhiteSpace(model.AllandoElerhetoseg.Orszag) ? new ApaczaiPalyazatElerhetoseg
|
|
{
|
|
Ajto = model.AllandoElerhetoseg.Ajto,
|
|
CimTipus = model.AllandoElerhetoseg.CimTipus,
|
|
Emailcim = model.AllandoElerhetoseg.Emailcim,
|
|
EmailTipus = model.AllandoElerhetoseg.EmailTipus,
|
|
Emelet = model.AllandoElerhetoseg.Emelet,
|
|
Hazszam = model.AllandoElerhetoseg.Hazszam,
|
|
HelysegNev = model.AllandoElerhetoseg.HelysegNev,
|
|
Iranyitoszam = model.AllandoElerhetoseg.Iranyitoszam,
|
|
KozteruletNev = model.AllandoElerhetoseg.KozteruletNev,
|
|
KozteruletTipus = model.AllandoElerhetoseg.KozteruletTipus,
|
|
Orszag = model.AllandoElerhetoseg.Orszag,
|
|
TelefonSzam = model.AllandoElerhetoseg.TelefonSzam,
|
|
TelefonTipus = model.AllandoElerhetoseg.TelefonTipus,
|
|
} : null,
|
|
TartozkodasiElerhetoseg = model.TartozkodasiElerhetoseg != null && !string.IsNullOrWhiteSpace(model.TartozkodasiElerhetoseg.Orszag) ? new ApaczaiPalyazatElerhetoseg
|
|
{
|
|
Ajto = model.TartozkodasiElerhetoseg.Ajto,
|
|
CimTipus = model.TartozkodasiElerhetoseg.CimTipus,
|
|
Emailcim = model.TartozkodasiElerhetoseg.Emailcim,
|
|
EmailTipus = model.TartozkodasiElerhetoseg.EmailTipus,
|
|
Emelet = model.TartozkodasiElerhetoseg.Emelet,
|
|
Hazszam = model.TartozkodasiElerhetoseg.Hazszam,
|
|
HelysegNev = model.TartozkodasiElerhetoseg.HelysegNev,
|
|
Iranyitoszam = model.TartozkodasiElerhetoseg.Iranyitoszam,
|
|
KozteruletNev = model.TartozkodasiElerhetoseg.KozteruletNev,
|
|
KozteruletTipus = model.TartozkodasiElerhetoseg.KozteruletTipus,
|
|
Orszag = model.TartozkodasiElerhetoseg.Orszag,
|
|
TelefonSzam = model.TartozkodasiElerhetoseg.TelefonSzam,
|
|
TelefonTipus = model.TartozkodasiElerhetoseg.TelefonTipus,
|
|
} : null,
|
|
KeziAtlag = model.KeziAtlag,
|
|
SzamitottAtlag = model.SzamitottAtlag,
|
|
AtlagKomment = model.Feljegyzes,
|
|
TAJszam = model.TAJSzam,
|
|
IsSzakkepzesenKivulrolJott = tanuloOktatasNevelesAdatok.IsSzakkepzesenKivulrolJott,
|
|
Osztaly = tanuloOktatasNevelesAdatok.OsztalyNev,
|
|
Evfolyam = tanuloOktatasNevelesAdatok.EvfolyamNev
|
|
},
|
|
ModositoId = model.ModositoId,
|
|
ModositoNev = model.ModositoNev,
|
|
HatranyosHelyzetHatarozatDatum = new DateTime(model.HatranyosHelyzetIgazolasKiallitasDatuma, 1, 1),
|
|
PalyazatMentor = new ApaczaiPalyazatMentor()
|
|
{
|
|
FenntartoAzonosito = !string.IsNullOrWhiteSpace(tanuloOktatasNevelesAdatok.MentorFenntartoAzonosito) ? tanuloOktatasNevelesAdatok.MentorFenntartoAzonosito : model.FenntartoAzonosito,
|
|
FenntartoNev = !string.IsNullOrWhiteSpace(tanuloOktatasNevelesAdatok.MentorFenntartoNev) ? tanuloOktatasNevelesAdatok.MentorFenntartoNev : model.FenntartoNev,
|
|
LegmagasabbSzintuFenntartoNev = tanuloOktatasNevelesAdatok.MentorLegmagasabbSzintuFenntartoNev,
|
|
IntezmenyEgyediAzonosito = tanuloOktatasNevelesAdatok.MentorIntezmenyEgyediAzonosito,
|
|
IntezmenyNev = tanuloOktatasNevelesAdatok.MentorIntezmenyNev,
|
|
IntezmenyAzonosito = tanuloOktatasNevelesAdatok.MentorIntezmenyAzonosito,
|
|
IntezmenyVezetoNev = tanuloOktatasNevelesAdatok.MentorIntezmenyVezetoNev,
|
|
OMKod = tanuloOktatasNevelesAdatok.MentorOMKod,
|
|
Bankszamla = new ApaczaiPalyazatMentorBankszamla
|
|
{
|
|
BankszamlaSzam = tanuloOktatasNevelesAdatok.MentorBankszamlaSzam,
|
|
BankszamlaTulajdonosNeve = tanuloOktatasNevelesAdatok.MentorBankszamlaTulajdonosNeve,
|
|
BankszamlaTulajdonosa = tanuloOktatasNevelesAdatok.MentorBankszamlaTulajdonosa,
|
|
SzamlavezetoBank = tanuloOktatasNevelesAdatok.MentorSzamlavezetoBank,
|
|
},
|
|
Elerhetoseg = new ApaczaiPalyazatMentorElerhetoseg
|
|
{
|
|
Ajto = tanuloOktatasNevelesAdatok.MentorAjto,
|
|
CimTipus = tanuloOktatasNevelesAdatok.MentorCimTipus,
|
|
Emailcim = tanuloOktatasNevelesAdatok.MentorEmailcim,
|
|
EmailTipus = tanuloOktatasNevelesAdatok.MentorEmailTipus,
|
|
Emelet = tanuloOktatasNevelesAdatok.MentorEmelet,
|
|
Hazszam = tanuloOktatasNevelesAdatok.MentorHazszam,
|
|
HelysegNev = tanuloOktatasNevelesAdatok.MentorHelysegNev,
|
|
Iranyitoszam = tanuloOktatasNevelesAdatok.MentorIranyitoszam,
|
|
KozteruletNev = tanuloOktatasNevelesAdatok.MentorKozteruletNev,
|
|
KozteruletTipus = tanuloOktatasNevelesAdatok.MentorKozteruletTipus,
|
|
Orszag = tanuloOktatasNevelesAdatok.MentorOrszag,
|
|
TelefonSzam = tanuloOktatasNevelesAdatok.MentorTelefonSzam,
|
|
TelefonTipus = tanuloOktatasNevelesAdatok.MentorTelefonTipus,
|
|
},
|
|
IdpEgyediAzonosito = tanuloOktatasNevelesAdatok.MentorIdpEgyediAzonosito,
|
|
OktatasiAzonosito = tanuloOktatasNevelesAdatok.MentorOktatasiAzonosito,
|
|
Nev = tanuloOktatasNevelesAdatok.MentorNev,
|
|
SzuletesiNev = tanuloOktatasNevelesAdatok.MentorSzuletesiNev,
|
|
SzuletesiHely = tanuloOktatasNevelesAdatok.MentorSzuletesiHely,
|
|
SzuletesiIdo = tanuloOktatasNevelesAdatok.MentorSzuletesiIdo,
|
|
AnyjaNeve = tanuloOktatasNevelesAdatok.MentorAnyjaSzuletesiNev,
|
|
TAJszam = tanuloOktatasNevelesAdatok.MentorTAJszam,
|
|
AdoazonositoJel = tanuloOktatasNevelesAdatok.MentorAdoazonositoJel,
|
|
SzTSz = tanuloOktatasNevelesAdatok.MentorSzTSz,
|
|
NyugdijTipusId = tanuloOktatasNevelesAdatok.MentorNyugdijTipusId,
|
|
NyugdijTipusNev = tanuloOktatasNevelesAdatok.MentorNyugdijTipusNev,
|
|
NyugdijKezdete = tanuloOktatasNevelesAdatok.MentorNyugdijKezdete,
|
|
}
|
|
};
|
|
return kgrRequestModel;
|
|
}
|
|
|
|
public bool ValidateTanuloMentor(ApaczaiPalyazatFelvetelRequest co)
|
|
{
|
|
return !string.IsNullOrWhiteSpace(co.PalyazatMentor.FenntartoAzonosito)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.FenntartoNev)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Nev)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.OMKod)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.TAJszam)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.AnyjaNeve)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.IntezmenyNev)
|
|
&& co.PalyazatMentor.SzuletesiIdo != (DateTime)default
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.SzuletesiNev)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.SzuletesiHely)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.AdoazonositoJel)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.OktatasiAzonosito)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.IntezmenyAzonosito)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.IntezmenyVezetoNev)
|
|
&& co.PalyazatMentor.Bankszamla != null
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Bankszamla.BankszamlaSzam)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Bankszamla.SzamlavezetoBank)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Bankszamla.BankszamlaTulajdonosNeve)
|
|
&& co.PalyazatMentor.Elerhetoseg != null
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.Orszag)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.Hazszam)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.Emailcim)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.HelysegNev)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.TelefonSzam)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.Iranyitoszam)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.KozteruletNev)
|
|
&& !string.IsNullOrWhiteSpace(co.PalyazatMentor.Elerhetoseg.KozteruletTipus);
|
|
}
|
|
|
|
private TanuloAdatCO GetTanuloiAdatok(TanuloAdatokCo model, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater)
|
|
{
|
|
var tanuloHelper = new TanuloHelper(ConnectionType);
|
|
var osztalyCsoport = tanuloHelper.GetOsztalyCsoport(model.ModositoId, (int)OktNevelesiKategoriaEnum.NevelesOktatas, false);
|
|
|
|
if (osztalyCsoport.Tables[0].Rows.Count > 0)
|
|
{
|
|
var osztalycsoportId = osztalyCsoport.Tables[0].Select("IsCsoport = 'F'").OrderByDescending(s => s["ErvKezd"]).First().Field<int?>("OsztalyCsoportId");
|
|
|
|
return tanuloHelper.GetTanuloiAdatok(model.ModositoId, kovTanevId: null, isSelectedTanev20_21OrLater, isSelectedTanev21_22OrLater, osztalycsoportId);
|
|
}
|
|
|
|
return tanuloHelper.GetTanuloiAdatok(model.ModositoId, kovTanevId: null, isSelectedTanev20_21OrLater, isSelectedTanev21_22OrLater);
|
|
}
|
|
|
|
public (int countEgyebDokumentum, int countHatranyosHelyzetIgazolas, int countHozzajaruloDokumentum, int countElozoTanevEvvegiBizonyitvany, int countMentoriTamogatoNyilatkozat) GetFeltoltottDokumentumKategoriak(IKGRClient client, Guid tanuloIdpEgyediAzonosito)
|
|
{
|
|
var dokumetumok = GetPalyazatDokumentumai(client, tanuloIdpEgyediAzonosito);
|
|
var countEgyebDokumentum = dokumetumok.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.Egyeb);
|
|
var countHatranyosHelyzetIgazolas = dokumetumok.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HatranyosHelyzetIgazolas);
|
|
var countHozzajaruloDokumentum = dokumetumok.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.HozzajaruloNyilatkozat);
|
|
var countElozoTanevEvvegiBizonyitvany = dokumetumok.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.ElozoTanevEvvegiBizonyitvany);
|
|
var countMentoriTamogatoNyilatkozat = dokumetumok.Count(x => x.Kategoria == ApaczaiDokumentumTipusEnum.MentoriTamogatoNyilatkozat);
|
|
return (countEgyebDokumentum, countHatranyosHelyzetIgazolas, countHozzajaruloDokumentum, countElozoTanevEvvegiBizonyitvany, countMentoriTamogatoNyilatkozat);
|
|
}
|
|
|
|
public PalyazatCo GetPalyazat(IKGRClient client, Guid tanuloIdpEgyediAzonosito)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
var palyazat = client.GetApaczaiPalyazat(tanevSorszam, tanuloIdpEgyediAzonosito);
|
|
|
|
if (palyazat is null || !palyazat.StatuszId.IsEntityId())
|
|
{
|
|
return new PalyazatCo();
|
|
}
|
|
|
|
var statusz = MapKgrPalyazatStatuszIdToApaczaiStatusz(palyazat.StatuszId);
|
|
// NOTE: Ha központi küldi ezt a kommentet, akkor törölni ezt + resourcet is.
|
|
var komment = palyazat.StatuszKomment;
|
|
switch (statusz)
|
|
{
|
|
case ApaczaiPalyazatStatuszEnum.Bekuldott:
|
|
if (string.IsNullOrWhiteSpace(palyazat.StatuszKomment))
|
|
{
|
|
komment = TanuloApaczaiResource.BekuldottPalyazatKomment;
|
|
}
|
|
break;
|
|
case ApaczaiPalyazatStatuszEnum.AdategyeztetesreVisszakuldve:
|
|
if (string.IsNullOrWhiteSpace(palyazat.EllenorzesrolAdategyeztetesreVisszakuldveKomment))
|
|
{
|
|
komment = TanuloApaczaiResource.AdategyeztetesPalyazatKomment;
|
|
}
|
|
else
|
|
{
|
|
komment = palyazat.EllenorzesrolAdategyeztetesreVisszakuldveKomment;
|
|
}
|
|
break;
|
|
case ApaczaiPalyazatStatuszEnum.Elfogadott:
|
|
if (string.IsNullOrWhiteSpace(palyazat.StatuszKomment))
|
|
{
|
|
komment = TanuloApaczaiResource.ElfogadottPalyazatKomment;
|
|
}
|
|
break;
|
|
case ApaczaiPalyazatStatuszEnum.Elutasitott:
|
|
if (string.IsNullOrWhiteSpace(palyazat.StatuszKomment))
|
|
{
|
|
komment = TanuloApaczaiResource.ElutasitottPalyazatKomment;
|
|
}
|
|
break;
|
|
case ApaczaiPalyazatStatuszEnum.Visszavont:
|
|
if (string.IsNullOrWhiteSpace(palyazat.StatuszKomment))
|
|
{
|
|
komment = TanuloApaczaiResource.VisszavontPalyazatKomment;
|
|
}
|
|
break;
|
|
case ApaczaiPalyazatStatuszEnum.FelulvizsgalatrolAdategyeztetesreVisszakuldve:
|
|
if (string.IsNullOrWhiteSpace(palyazat.FelulvizsgalatrolAdategyeztetesreVisszakuldveKomment))
|
|
{
|
|
komment = TanuloApaczaiResource.AdategyeztetesPalyazatKomment;
|
|
}
|
|
else
|
|
{
|
|
komment = palyazat.FelulvizsgalatrolAdategyeztetesreVisszakuldveKomment;
|
|
}
|
|
break;
|
|
case ApaczaiPalyazatStatuszEnum.TamogatasiSzerzodesselRendelkezoIntezmenytValtott:
|
|
komment = TanuloApaczaiResource.TamogatasiSzerzodesselRendelkezoIntezmenytValtottKomment;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return new PalyazatCo
|
|
{
|
|
Id = palyazat.Id,
|
|
Palyazo = palyazat.Palyazo,
|
|
TanevId = palyazat.TanevId,
|
|
StatuszId = palyazat.StatuszId,
|
|
StatuszNev = palyazat.StatuszNev,
|
|
Letrehozva = palyazat.Letrehozva,
|
|
StatuszKomment = palyazat.StatuszKomment,
|
|
FellebbezesHatarido = palyazat.FellebbezesHatarido,
|
|
HatranyosHelyzetHatarozatDatum = palyazat.HatranyosHelyzetHatarozatDatum,
|
|
ErkeztetesiSzam = palyazat.StatuszErkeztetesiSzam,
|
|
Iktatoszam = palyazat.StatuszIktatasiSzam,
|
|
Komment = komment,
|
|
Statusz = statusz
|
|
};
|
|
}
|
|
|
|
public List<DokumentumCo> GetPalyazatDokumentumai(IKGRClient client, Guid tanuloIdpEgyediAzonosito)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
var fajlList = client.GetApaczaiPalyazatDokumentumai(tanevSorszam, tanuloIdpEgyediAzonosito);
|
|
|
|
var coList = new List<DokumentumCo>();
|
|
coList.AddRange(fajlList.Select(x => new DokumentumCo
|
|
{
|
|
Azonosito = x.FileServiceEgyediAzonosito,
|
|
Kategoria = MapKgrDokumentumTipusToDokumentumKategoria(x.ApaczaiFileTipusId, x.FileServiceUtvonal),
|
|
Nev = x.FileServiceUtvonal.Substring(x.FileServiceUtvonal.LastIndexOf("/") + 1),
|
|
Datum = x.Letrehozva,
|
|
EszaTipus = x.EszaTipus
|
|
}));
|
|
|
|
return coList;
|
|
}
|
|
|
|
public byte[] GetPalyazatDokumentuma(IKGRClient client, Guid tanuloIdpEgyediAzonosito, Guid fileId)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
return client.GetApaczaiPalyazatDokumentuma(tanevSorszam, tanuloIdpEgyediAzonosito, fileId);
|
|
}
|
|
|
|
public bool UploadPalyazatDokumentumBinaryMode(IKGRClient client, Guid tanuloIdpEgyediAzonosito, int dokumentumKategoriaId, UploadedFileCO uploadedFileCO)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
|
|
var apaczaiUploadRequest = new ApaczaiUploadFileRequestBinary
|
|
{
|
|
PostedFileName = uploadedFileCO.PostedFileName,
|
|
PostedFileContentType = uploadedFileCO.PostedFileContentType,
|
|
PostedFileCategory = MapDokumentumKategoriaToKgrDokumentumTipus((ApaczaiDokumentumTipusEnum)dokumentumKategoriaId),
|
|
File = uploadedFileCO.PostedFile,
|
|
ApaczaiDokumentumTipus = MapEszaTipus(uploadedFileCO),
|
|
};
|
|
|
|
return client.PostApaczaiPalyazatDokumentumBinaryFiles(tanevSorszam, tanuloIdpEgyediAzonosito, apaczaiUploadRequest);
|
|
}
|
|
|
|
public IEnumerable<PalyazatiEsemenyCo> GetPalyazatiEsemenyek(IKGRClient client, Guid tanuloIdpEgyediAzonosito)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
var palyazatTortenetList = client.GetApaczaiPalyazatTortenet(tanevSorszam, tanuloIdpEgyediAzonosito);
|
|
var esemenyek = palyazatTortenetList.Select(t => new PalyazatiEsemenyCo
|
|
{
|
|
Cim = t.Cim,
|
|
Datum = t.Datum,
|
|
Megjegyzes = t.Megjegyzes,
|
|
Statusz = MapKgrPalyazatStatuszIdToApaczaiStatusz(t.StatuszId)
|
|
});
|
|
return esemenyek;
|
|
}
|
|
|
|
public bool GetPalyazatVisszavonas(IKGRClient client, Guid tanuloIdpEgyediAzonosito)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
var palyazat = client.GetApaczaiVisszavonas(tanevSorszam, tanuloIdpEgyediAzonosito);
|
|
return palyazat.Id.IsEntityId();
|
|
}
|
|
|
|
public List<IgenylesCo> GetIgenylesekCoList(IKGRClient client, IgenylesSearchCo searchCo, Guid intezmenyEgyediAzonosito)
|
|
{
|
|
var result = new List<IgenylesCo>();
|
|
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
var osszesIgenyles = client.GetIgenylesekModelList(tanevSorszam, intezmenyEgyediAzonosito);
|
|
if (osszesIgenyles.Any())
|
|
{
|
|
var tanulokOsztalyaiDs = new TanuloHelper(ConnectionType).GetTanulokOsztalyaiByTanuloIdp(osszesIgenyles.Select(i => i.Palyazo.IdpEgyediAzonosito).Distinct());
|
|
var tanulokOsztalyaiDict = tanulokOsztalyaiDs.Tables[0].AsEnumerable().Select(r => new
|
|
{
|
|
TanuloIdp = r.Field<Guid>("TanuloIdp"),
|
|
OsztalyId = r.Field<int>("OsztalyId"),
|
|
OsztalyNev = r.Field<string>("OsztalyNev"),
|
|
EvfolyamId = r.Field<int>("EvfolyamId"),
|
|
EvfolyamNev = r.Field<string>("EvfolyamNev"),
|
|
}).ToDictionary(t => t.TanuloIdp);
|
|
|
|
var ret = osszesIgenyles.Where(i => tanulokOsztalyaiDict.Keys.Contains(i.Palyazo.IdpEgyediAzonosito)).Select(i => new IgenylesCo
|
|
{
|
|
TanuloNeve = $"{i.Palyazo.CsaladiNev} {i.Palyazo.Utonev}",
|
|
OktatasiAzonosito = i.Palyazo.OktatasiAzonosito,
|
|
SzuletesiIdeje = i.Palyazo.SzuletesiIdo,
|
|
OsztalyId = tanulokOsztalyaiDict[i.Palyazo.IdpEgyediAzonosito].OsztalyId,
|
|
OsztalyNev = tanulokOsztalyaiDict[i.Palyazo.IdpEgyediAzonosito].OsztalyNev,
|
|
EvfolyamId = tanulokOsztalyaiDict[i.Palyazo.IdpEgyediAzonosito].EvfolyamId,
|
|
EvfolyamNev = tanulokOsztalyaiDict[i.Palyazo.IdpEgyediAzonosito].EvfolyamNev,
|
|
PalyazatAllapotaId = (int)MapKgrPalyazatStatuszIdToApaczaiStatusz(i.StatuszId),
|
|
PalyazatAllapotaNev = i.StatuszNev
|
|
});
|
|
|
|
if (searchCo.EvfolyamId.HasValue)
|
|
{
|
|
ret = ret.Where(x => x.EvfolyamId == searchCo.EvfolyamId.Value);
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(searchCo.OktatasiAzonosito))
|
|
{
|
|
ret = ret.Where(x => x.OktatasiAzonosito.Contains(searchCo.OktatasiAzonosito));
|
|
}
|
|
|
|
if (searchCo.OsztalyId.HasValue)
|
|
{
|
|
ret = ret.Where(x => x.OsztalyId == searchCo.OsztalyId.Value);
|
|
}
|
|
|
|
if (searchCo.PalyazatAllapotaId.HasValue)
|
|
{
|
|
ret = ret.Where(x => x.PalyazatAllapotaId == searchCo.PalyazatAllapotaId.Value);
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(searchCo.TanuloNeve))
|
|
{
|
|
ret = ret.Where(x => x.TanuloNeve.Contains(searchCo.TanuloNeve));
|
|
}
|
|
|
|
result.AddRange(ret);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public List<TanuloApaczaiTanuloListaItemCo> GetTanuloiListaCoList(IKGRClient client, TanuloiListaSearchCo searchCo, Guid intezmenyEgyediAzonosito)
|
|
{
|
|
var coList = new TanuloHelper(ConnectionType).GetApaczaiTanuloiListaCoList(searchCo);
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
var beadottIgenylesek = client.GetIgenylesekModelList(tanevSorszam, intezmenyEgyediAzonosito);
|
|
coList.ForEach(x =>
|
|
{
|
|
var kgrIgeny = beadottIgenylesek.SingleOrDefault(y => y.Palyazo.IdpEgyediAzonosito == x.IdpEgyediAzonosito);
|
|
if (kgrIgeny != default)
|
|
{
|
|
if (kgrIgeny.StatuszId != (int)KgrPalyazatStatuszEnum.ElfogadottVegleges)
|
|
{
|
|
x.Jogosultsag = false;
|
|
x.JuttatasOsszege = null;
|
|
x.NemJogosultsagOka_STR = $"<ul class=\"nemjogosultsagoka\"><li>{SzakkepzesiJuttatasokResource.ElutasitottPalyazat}</li></ul>";
|
|
}
|
|
x.PalyazatKgrAllapota = kgrIgeny.StatuszNev;
|
|
}
|
|
else
|
|
{
|
|
x.Jogosultsag = false;
|
|
x.NemJogosultsagOka = 0;
|
|
x.NemJogosultsagOka_STR = string.Empty;
|
|
x.PalyazatKgrAllapota = SzakkepzesiJuttatasokResource.NincsErvenyesPalyazat;
|
|
}
|
|
});
|
|
if (searchCo.IsCsakErvenyesPalyazattal)
|
|
{
|
|
coList.RemoveAll(x => x.PalyazatKgrAllapota == SzakkepzesiJuttatasokResource.NincsErvenyesPalyazat);
|
|
}
|
|
return coList;
|
|
}
|
|
|
|
public List<KifizetesCo> GetKifizetesekCoList(IKGRClient client, KifizetesSearchCo searchCo)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
var osszesKifizetes = client.GetKifizetesekModelList(tanevSorszam);
|
|
var ret = new List<KifizetesCo>(osszesKifizetes.Select(x => new KifizetesCo
|
|
{
|
|
//TanuloNeve = model.TanuloNeve,
|
|
//OktatasiAzonosito = model.OktatasiAzonosito,
|
|
//SzuletesiIdeje = model.SzuletesiIdeje,
|
|
//OsztalyId = model.OsztalyId,
|
|
//OsztalyNev = model.OsztalyNev,
|
|
//EvfolyamId = model.EvfolyamId,
|
|
//EvfolyamNev = model.EvfolyamNev,
|
|
//Jogosultsag = model.Jogosultsag,
|
|
//NemJogosultsagOka = model.NemJogosultsagOka,
|
|
//JuttatasOsszege = model.JuttatasOsszege,
|
|
}));
|
|
|
|
ret.AddRange(new List<KifizetesCo>{
|
|
new KifizetesCo
|
|
{
|
|
TanuloNeve = "minta aladár",
|
|
OktatasiAzonosito = "79999999999",
|
|
SzuletesiIdeje = new DateTime(2000, 10, 10),
|
|
OsztalyNev = "1.x",
|
|
OsztalyId = 1,
|
|
EvfolyamNev = "1",
|
|
EvfolyamId = 1,
|
|
Jogosultsag = "Igen",
|
|
JuttatasOsszege = 10000,
|
|
NemJogosultsagOka = "",
|
|
},
|
|
new KifizetesCo
|
|
{
|
|
TanuloNeve = "minta béla",
|
|
OktatasiAzonosito = "79999999998",
|
|
SzuletesiIdeje = new DateTime(2000, 10, 10),
|
|
OsztalyNev = "1.x",
|
|
OsztalyId = 1,
|
|
EvfolyamNev = "1",
|
|
EvfolyamId = 1,
|
|
Jogosultsag = "Nem",
|
|
JuttatasOsszege = null,
|
|
NemJogosultsagOka = "Nem jogosult"
|
|
},
|
|
});
|
|
|
|
IEnumerable<KifizetesCo> filtered = ret;
|
|
if (searchCo.EvfolyamId.HasValue)
|
|
{
|
|
filtered = filtered.Where(x => x.EvfolyamId == searchCo.EvfolyamId.Value);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(searchCo.OktatasiAzonosito))
|
|
{
|
|
filtered = filtered.Where(x => x.OktatasiAzonosito.Contains(searchCo.OktatasiAzonosito));
|
|
}
|
|
if (searchCo.OsztalyId.HasValue)
|
|
{
|
|
filtered = filtered.Where(x => x.OsztalyId == searchCo.OsztalyId.Value);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(searchCo.TanuloNeve))
|
|
{
|
|
filtered = filtered.Where(x => x.TanuloNeve.Contains(searchCo.TanuloNeve));
|
|
}
|
|
if (searchCo.JuttatasOsszege.HasValue)
|
|
{
|
|
filtered = filtered.Where(x => x.JuttatasOsszege == searchCo.JuttatasOsszege.Value);
|
|
}
|
|
if (searchCo.Jogosultsag.HasValue)
|
|
{
|
|
filtered = filtered.Where(x => x.Jogosultsag == searchCo.Jogosultsag.Value.GetDisplayName());
|
|
}
|
|
|
|
return filtered.ToList();
|
|
}
|
|
|
|
public bool DeletePalyazatDokumentuma(IKGRClient client, Guid tanuloIdpEgyediAzonosito, Guid fileId)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
return client.DeleteApaczaiPalyazatDokumentuma(tanevSorszam, tanuloIdpEgyediAzonosito, fileId);
|
|
}
|
|
|
|
public bool Fellebbezes(IKGRClient client, Guid tanuloIdpEgyediAzonosito, string indoklas)
|
|
{
|
|
var tanevSorszam = new TanevHelper(ConnectionType).GetTanevInfo().Sorszam;
|
|
return client.Fellebbezes(tanuloIdpEgyediAzonosito, tanevSorszam, indoklas);
|
|
}
|
|
|
|
public bool HasElfogadottPalyazatMasikIntezmenyByOktatasiAzonosito(IKGRClient client, Guid intezmenyEgyediAzonosito, int tanuloId)
|
|
{
|
|
var tanevSorszam = -1;
|
|
string oktatasiAzonosito = null;
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dalHandlerConnectionType = new DalHandlerConnectionType(ConnectionType, h);
|
|
tanevSorszam = new TanevHelper(dalHandlerConnectionType).GetTanevInfo().Sorszam;
|
|
oktatasiAzonosito = new FelhasznaloHelper(dalHandlerConnectionType).GetFelhasznaloOktatasiAzonosito(tanuloId);
|
|
});
|
|
return client.HasElfogadottPalyazatMasikIntezmenyByOktatasiAzonosito(intezmenyEgyediAzonosito, tanevSorszam, oktatasiAzonosito);
|
|
}
|
|
|
|
private ApaczaiDokumentumTipusEnum MapKgrDokumentumTipusToDokumentumKategoria(int kgrFileTypeId, string fileServiceUtvonal)
|
|
{
|
|
switch (kgrFileTypeId)
|
|
{
|
|
case 1:
|
|
return ApaczaiDokumentumTipusEnum.HatranyosHelyzetIgazolas;
|
|
case 2:
|
|
return ApaczaiDokumentumTipusEnum.HozzajaruloNyilatkozat;
|
|
case 3:
|
|
return ApaczaiDokumentumTipusEnum.ElozoTanevEvvegiBizonyitvany;
|
|
case 5:
|
|
{
|
|
if (fileServiceUtvonal.Contains("_TamogatoiOkirat_"))
|
|
{
|
|
return ApaczaiDokumentumTipusEnum.TamogatoiOkirat;
|
|
}
|
|
else
|
|
{
|
|
return ApaczaiDokumentumTipusEnum.PalyazatiDontes;
|
|
}
|
|
}
|
|
case 7:
|
|
return ApaczaiDokumentumTipusEnum.MentoriTamogatoNyilatkozat;
|
|
case 8:
|
|
return ApaczaiDokumentumTipusEnum.EszaTipus;
|
|
default:
|
|
return ApaczaiDokumentumTipusEnum.Egyeb;
|
|
}
|
|
}
|
|
|
|
private int MapDokumentumKategoriaToKgrDokumentumTipus(ApaczaiDokumentumTipusEnum kategoriaId)
|
|
{
|
|
switch (kategoriaId)
|
|
{
|
|
case ApaczaiDokumentumTipusEnum.HatranyosHelyzetIgazolas:
|
|
return 1;
|
|
case ApaczaiDokumentumTipusEnum.HozzajaruloNyilatkozat:
|
|
return 2;
|
|
case ApaczaiDokumentumTipusEnum.ElozoTanevEvvegiBizonyitvany:
|
|
return 3;
|
|
case ApaczaiDokumentumTipusEnum.MentoriTamogatoNyilatkozat:
|
|
return 7;
|
|
case ApaczaiDokumentumTipusEnum.EszaBelepoNyilatkozat:
|
|
return 8;
|
|
case ApaczaiDokumentumTipusEnum.EszaKilepoNyilatkozat:
|
|
return 8;
|
|
//case ApaczaiDokumentumTipusEnum.PalyazatiDontes: return 5;
|
|
default:
|
|
return 4;
|
|
}
|
|
}
|
|
|
|
private ApaczaiPalyazatStatuszEnum MapKgrPalyazatStatuszIdToApaczaiStatusz(int? kgrStatuszId)
|
|
{
|
|
switch (kgrStatuszId)
|
|
{
|
|
case (int)KgrPalyazatStatuszEnum.Uj:
|
|
case (int)KgrPalyazatStatuszEnum.EllenorzesAlatt:
|
|
case (int)KgrPalyazatStatuszEnum.EllenorizveElfogadva:
|
|
case (int)KgrPalyazatStatuszEnum.EllenorizveElutasitva:
|
|
case (int)KgrPalyazatStatuszEnum.FelulvizsgalatAlatt:
|
|
case (int)KgrPalyazatStatuszEnum.FelulvizsgalvaElfogadva:
|
|
case (int)KgrPalyazatStatuszEnum.FelulvizsgalvaElutasitva:
|
|
case (int)KgrPalyazatStatuszEnum.Fellebbezve:
|
|
case (int)KgrPalyazatStatuszEnum.DontesiJavaslatraElfogadottAtadva:
|
|
case (int)KgrPalyazatStatuszEnum.DontesiJavaslatraElutasitottAtadva:
|
|
case (int)KgrPalyazatStatuszEnum.FelulvizsgalbaElutasitvaKerettullepes:
|
|
case (int)KgrPalyazatStatuszEnum.DontesiJavaslatraElutasitottKerettullepesAtadva:
|
|
return ApaczaiPalyazatStatuszEnum.Bekuldott;
|
|
case (int)KgrPalyazatStatuszEnum.EllenorzesrolAdategyeztetesreVisszakuldve:
|
|
return ApaczaiPalyazatStatuszEnum.AdategyeztetesreVisszakuldve;
|
|
case (int)KgrPalyazatStatuszEnum.FelulvizsgalatrolAdategyeztetesreVisszakuldve:
|
|
return ApaczaiPalyazatStatuszEnum.FelulvizsgalatrolAdategyeztetesreVisszakuldve;
|
|
case (int)KgrPalyazatStatuszEnum.ElfogadottVegleges:
|
|
return ApaczaiPalyazatStatuszEnum.Elfogadott;
|
|
case (int)KgrPalyazatStatuszEnum.ElutasitottVegleges:
|
|
case (int)KgrPalyazatStatuszEnum.ElutasitottVeglegesKerettullepes:
|
|
return ApaczaiPalyazatStatuszEnum.Elutasitott;
|
|
case (int)KgrPalyazatStatuszEnum.IntezmenyValtas:
|
|
return ApaczaiPalyazatStatuszEnum.TamogatasiSzerzodesselRendelkezoIntezmenytValtott;
|
|
case (int)KgrPalyazatStatuszEnum.Visszavont:
|
|
return ApaczaiPalyazatStatuszEnum.Visszavont;
|
|
default:
|
|
return ApaczaiPalyazatStatuszEnum.NemMeghatarozott;
|
|
}
|
|
}
|
|
|
|
private string MapEszaTipus(UploadedFileCO uploadedFileCO)
|
|
{
|
|
if (uploadedFileCO.ApaczaiDokumentumTipus != null)
|
|
{
|
|
switch (uploadedFileCO.ApaczaiDokumentumTipus)
|
|
{
|
|
case ApaczaiDokumentumTipusEnum.EszaBelepoNyilatkozat:
|
|
return TanuloApaczaiResource.EszaBelepoNyilatkozat;
|
|
case ApaczaiDokumentumTipusEnum.EszaKilepoNyilatkozat:
|
|
return TanuloApaczaiResource.EszaKilepoNyilatkozat;
|
|
default:
|
|
return string.Empty;
|
|
}
|
|
}
|
|
|
|
return string.Empty;
|
|
}
|
|
}
|
|
}
|