using System; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Web.Http; using Kreta.Eugyintezes.BusinessLogic.Interface.Services; using Kreta.Eugyintezes.Domain.Model.Dto; using Kreta.Eugyintezes.WebApi.Attributes; using Kreta.Eugyintezes.WebApi.Infrastructure; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Newtonsoft.Json.Serialization; namespace Kreta.Eugyintezes.WebApi.Controllers { [ApiKeyAuthorization] [RoutePrefix(Constants.RoutePrefix + Constants.VersionName)] public partial class TorzsadatController : ApiController { private ITorzsadatService TorzsadatService { get; } public TorzsadatController(ITorzsadatService torzsadatService) { this.TorzsadatService = torzsadatService ?? throw new ArgumentNullException(nameof(torzsadatService)); } [Route("torzsadat/alkalmazottak")] [HttpGet] public List GetAlkalmazottak(int? tanevKretaAzonosito = null) { return TorzsadatService.GetAlkalmazottak(tanevKretaAzonosito); } [Route("torzsadat/alkalmazott")] [HttpGet] public AlkalmazottDto GetAlkalmazott(int kretaAzonosito, int? tanevKretaAzonosito = null) { return TorzsadatService.GetAlkalmazott(kretaAzonosito, tanevKretaAzonosito); } [Route("torzsadat/gondviselogyerekadatok")] [HttpGet] public TanuloDto GetGondviseloGyerekAdatok(int gondviseloKretaAzonosito, int? tanevKretaAzonosito = null) { return TorzsadatService.GetGondviseloGyerekAdatok(gondviseloKretaAzonosito, tanevKretaAzonosito); } [Route("torzsadat/kozossegiszolgalatosszesigazoltorakszama")] [HttpGet] public int GetKozossegiSzolgalatOsszesIgazoltOrakSzama(string tanuloOktatasiAzonosito) { return TorzsadatService.GetKozossegiSzolgalatOsszesIgazoltOrakSzama(tanuloOktatasiAzonosito); } [Route("torzsadat/osztaly")] [HttpGet] public OsztalyDto GetOsztaly(int kretaAzonosito) { return TorzsadatService.GetOsztaly(kretaAzonosito); } [Route("torzsadat/osztalyok")] [HttpGet] public List GetOsztalyok(int? tanevKretaAzonosito = null) { return TorzsadatService.GetOsztalyok(tanevKretaAzonosito); } [Route("torzsadat/osztalytanulok")] [HttpGet] public List GetOsztalyTanulok(int osztalyKretaAzonosito) { return TorzsadatService.GetOsztalyTanulok(osztalyKretaAzonosito); } [Route("torzsadat/tanevkezdete")] [HttpGet] public DateTime? GetTanevKezdete() { return TorzsadatService.GetTanevKezdete(); } [Route("torzsadat/tanoraicsoport")] [HttpGet] public TanoraiCsoportDto GetTanoraiCsoport(int kretaAzonosito) { return TorzsadatService.GetTanoraiCsoport(kretaAzonosito); } [Route("torzsadat/tanoraicsoportok")] [HttpGet] public List GetTanoraiCsoportok() { return TorzsadatService.GetTanoraiCsoportok(); } [Route("torzsadat/tanoraicsoportoktanulok")] [HttpGet] public List GetTanoraiCsoportTanulok(int tanoraiCsoportKretaAzonosito) { return TorzsadatService.GetTanoraiCsoportTanulok(tanoraiCsoportKretaAzonosito); } [Route("torzsadat/tantargy")] [HttpGet] public TantargyDto GetTantargy(int kretaAzonosito) { return TorzsadatService.GetTantargy(kretaAzonosito); } [Route("torzsadat/tanuloadatok")] [HttpGet] public TanuloAdatokDto GetTanuloAdatok(string tanuloOktatasiAzonosito, int? tanevKretaAzonosito = null) { return TorzsadatService.GetTanuloAdatok(tanuloOktatasiAzonosito, tanevKretaAzonosito); } [Route("torzsadat/tanulotantargyak")] [HttpGet] public List GetTanuloTantargyak(string tanuloOktatasiAzonosito) { return TorzsadatService.GetTanuloTantargyak(tanuloOktatasiAzonosito); } [Route("torzsadat/sendiedm")] [HttpGet] public void SendIedm(string tanuloOktatasiAzonosito, DateTime tavolletKezdete, DateTime tavolletVege) { TorzsadatService.SendIedm(tanuloOktatasiAzonosito, tavolletKezdete, tavolletVege); } [Route("torzsadat/gondviseloemailcim")] [HttpGet] public EmailDto GetGondviseloEmailCim(int kretaAzonosito) { return TorzsadatService.GetGondviseloEmailCim(kretaAzonosito); } [Route("torzsadat/felhasznaloemailcim")] [HttpGet] public EmailDto GetFelhasznaloEmailCim(int kretaAzonosito) { return TorzsadatService.GetFelhasznaloEmailCim(kretaAzonosito); } [Route("torzsadat/tanulotanoraicsoportok")] [HttpGet] public List GetTanuloTanoraiCsoportok(string tanuloOktatasiAzonosito) { return TorzsadatService.GetTanuloTanoraiCsoportok(tanuloOktatasiAzonosito); } [Route("torzsadat/osztalytanoraicsoportok")] [HttpGet] public List GetOsztalyTanoraiCsoportok(int osztalyKretaAzonosito) { return TorzsadatService.GetOsztalyTanoraiCsoportok(osztalyKretaAzonosito); } [Route("torzsadat/tanulokbyosztaly")] [HttpGet] public List GetTanulokByOsztaly(int osztalyKretaAzonosito, int? tanevKretaAzonosito = null) { return TorzsadatService.GetTanulokByOsztaly(osztalyKretaAzonosito, tanevKretaAzonosito); } [Route("torzsadat/tanulokbytanoraicsoport")] [HttpGet] public List GetTanulokByTanoraiCsoport(int csoportKretaAzonosito) { return TorzsadatService.GetTanulokByTanoraiCsoport(csoportKretaAzonosito); } [Route("torzsadat/tanevek")] [HttpGet] public List GetTanevek() { return TorzsadatService.GetTanevek(); } [Route("torzsadat/tanevekosszes")] [HttpGet] public List GetOsszesTanevek() { return TorzsadatService.GetOsszesTanevek(); } [Route("torzsadat/szmkosztalyok")] [HttpGet] public List GetSZMKOsztalyok(int gondviseloKretaAzonosito) { return TorzsadatService.GetSZMKOsztalyok(gondviseloKretaAzonosito); } [Route("torzsadat/aktualisgondviselocimek")] [HttpGet] public List GetGondviseloCimek(int gondviseloKretaAzonosito) { return TorzsadatService.GetAktualisGondviseloCimek(gondviseloKretaAzonosito); } [Route("torzsadat/felhasznalocimek")] [HttpGet] public List GetFelhasznaloCimek(string kretaIntezmenyAzonosito, int felhasznaloKretaAzonosito) { return TorzsadatService.GetFelhasznaloCimek(kretaIntezmenyAzonosito, felhasznaloKretaAzonosito); } [Route("torzsadat/felhasznalocimek")] [HttpGet] public List GetFelhasznaloCimek(int felhasznaloKretaAzonosito) { return TorzsadatService.GetFelhasznaloCimek(felhasznaloKretaAzonosito); } [Route("torzsadat/cim")] [HttpGet] public CimDto GetCim(int cimKretaAzonosito) { return TorzsadatService.GetCim(cimKretaAzonosito); } [Route("torzsadat/gyerekemosztalyabankszamlaszam")] [HttpGet] public BankszamlaDto GetGyerekemOsztalyaBankszamlaszam(int gondviseloKretaAzonosito) { return TorzsadatService.GetGyerekemOsztalyaBankszamlaszam(gondviseloKretaAzonosito); } [Route("torzsadat/tanarok")] [HttpGet] public List GetTanarok(int? tanevKretaAzonosito = null) { return TorzsadatService.GetTanarok(tanevKretaAzonosito); } [Route("torzsadat/noksalkalmazottak")] [HttpGet] public List GetNOKSAlkalmazottak(int? tanevKretaAzonosito = null) { return TorzsadatService.GetNOKSAlkalmazottak(tanevKretaAzonosito); } [Route("torzsadat/egyebalkalmazottak")] [HttpGet] public List GetEgyebAlkalmazottak(int? tanevKretaAzonosito = null) { return TorzsadatService.GetEgyebAlkalmazottak(tanevKretaAzonosito); } [Route("torzsadat/osztalyfonokok")] [HttpGet] public List GetOsztalyfonokok(int? tanevKretaAzonosito = null) { return TorzsadatService.GetOsztalyfonokok(tanevKretaAzonosito); } [Route("torzsadat/igazgatosagialkalmazottak")] [HttpGet] public List GetIgazgatosagiAlkalmazottak(int? tanevKretaAzonosito = null) { return TorzsadatService.GetIgazgatosagiAlkalmazottak(tanevKretaAzonosito); } [Route("torzsadat/kretaadminisztratorok")] [HttpGet] public List GetKretaAdminisztratorok(int? tanevKretaAzonosito = null) { return TorzsadatService.GetKretaAdminisztratorok(tanevKretaAzonosito); } [Route("torzsadat/osztalygondviselok")] [HttpGet] public List GetOsztalyGondviselok(int osztalyKretaAzonosito) { return TorzsadatService.GetOsztalyGondviselok(osztalyKretaAzonosito); } [Route("torzsadat/tanoraicsoportgondviselok")] [HttpGet] public List GetTanoraiCsoportGondviselok(int tanoraiCsoportKretaAzonosito) { return TorzsadatService.GetTanoraiCsoportGondviselok(tanoraiCsoportKretaAzonosito); } [Route("torzsadat/alkalmazottadatok")] [HttpGet] public AlkalmazottAdatokDto GetAlkalmazottAdatok(int kretaFelhasznaloAzonosito, int? tanevKretaAzonosito = null) { return TorzsadatService.GetAlkalmazottAdatok(kretaFelhasznaloAzonosito, tanevKretaAzonosito); } [Route("torzsadat/gondviseloadatok")] [HttpGet] public GondviseloAdatokDto GetGondviseloAdatok(int kretaFelhasznaloAzonosito) { return TorzsadatService.GetGondviseloAdatok(kretaFelhasznaloAzonosito); } [Route("torzsadat/szmkkepviselok")] [HttpGet] public List GetSZMKKepviselok() { return TorzsadatService.GetSZMKKepviselok(); } [Route("torzsadat/tanuloadatok")] [HttpGet] public TanuloAdatokDto GetTanuloAdatokByKretaAzonosito(int kretaAzonosito) { return TorzsadatService.GetTanuloAdatokByKretaAzonosito(kretaAzonosito); } [Route("torzsadat/tanuloosztalyfonok")] [HttpGet] public AlkalmazottDto GetTanuloOsztalyfonok(string oktatasiAzonosito) { return TorzsadatService.GetTanuloOsztalyfonok(oktatasiAzonosito); } [Route("torzsadat/eugyintezokesosztalyfonokok")] [HttpGet] public List GetEUgyintezokEsOsztalyfonokok() { return TorzsadatService.GetEUgyintezokEsOsztalyfonokok(); } [Route("torzsadat/foglalhatotermek")] [HttpGet] public List GetFoglalhatoTermek() { return TorzsadatService.GetFoglalhatoTermek(); } [Route("torzsadat/tanitottosztalyok")] [HttpGet] public List GetTanitottOsztalyok(int alkalmazottKretaAzonosito) { return TorzsadatService.GetTanitottOsztalyok(alkalmazottKretaAzonosito); } [Route("torzsadat/osztalyfonokoltosztalyok")] [HttpGet] public List GetOsztalyfonokoltOsztalyok(int alkalmazottKretaAzonosito) { return TorzsadatService.GetOsztalyfonokoltOsztalyok(alkalmazottKretaAzonosito); } [Route("torzsadat/bulktanuloszamlaadatok")] [HttpPost] public List GetBulkTanuloSzamlaAdatok(int osztalyCsoportKretaAzonosito, List oktatasiAzonositok) { return TorzsadatService.GetBulkTanuloSzamlaAdatok(osztalyCsoportKretaAzonosito, oktatasiAzonositok); } [Route("torzsadat/bulkalkalmazottszamlaadatok")] [HttpPost] public List GetBulkAlkalmazottSzamlaAdatok(List kretaFelhasznaloAzonositok) { return TorzsadatService.GetBulkAlkalmazottSzamlaAdatok(kretaFelhasznaloAzonositok); } [Route("torzsadat/bulkgondviselogyerekadatok")] [HttpPost] public List GetBulkGondviseloGyerekAdatok(List gondviseloKretaAzonositok) { return TorzsadatService.GetBulkGondviseloGyerekAdatok(gondviseloKretaAzonositok); } [Route("torzsadat/sendbai")] [HttpPost] public void SendBAI([FromBody] JObject jsonData) { EUgyNebuloRequestDto requestDto = JsonConvert.DeserializeObject(jsonData.ToString()); NebuloDto nebuloDto = JsonConvert.DeserializeObject(requestDto.UrlapTartalom); nebuloDto.Ugyiratszam = requestDto.Ugyiratszam; if (!string.IsNullOrWhiteSpace(requestDto.Indoklas)) { nebuloDto.Indoklas = Regex.Replace(requestDto.Indoklas, "<.*?>", string.Empty); } TorzsadatService.SaveNebuloFromBai(nebuloDto, jsonData.ToString()); } [Route("torzsadat/bulktanulok")] [HttpPost] public List GetBulkTanulok(List oktatasiAzonositok) { return TorzsadatService.GetBulkTanulok(oktatasiAzonositok); } [Route("torzsadat/elsoalairo")] [HttpGet] public AlkalmazottDto GetElsoAlairo() { return TorzsadatService.GetElsoAlairo(); } [Route("igazolasok")] [HttpPost] public SaveResponseDto CreateIgazolas([FromBody] JObject jsonData) { IgazolasDto requestDto = JsonConvert.DeserializeObject(jsonData.ToString()); return TorzsadatService.SaveIgazolasok(requestDto, jsonData.ToString()); } [Route("kozossegiszolgalatok")] [HttpPost] public SaveResponseDto CreateKozossegiSzolgalat([FromBody] JObject jsonData) { KozossegiSzolgalatDto requestDto = JsonConvert.DeserializeObject(jsonData.ToString()); return TorzsadatService.SaveKozossegiszolgalatok(requestDto, jsonData.ToString()); } [Route("alkalmazottak/{alkalmazottKretaAzonosito}/modositasijog")] [HttpGet] public bool CheckAlkalmazottModositasiJog(int alkalmazottKretaAzonosito, string jogTipus, string oktatasiAzonosito) { return TorzsadatService.GetAlkalmazottModositasiJog(alkalmazottKretaAzonosito, jogTipus, oktatasiAzonosito); } [Route("tanulok/kifirimport/letezik")] [HttpGet] public SaveResponseDto CheckTanuloLetezik(string oktatasiAzonosito, string elotag, string csaladiNev, string utonev, string szuletesiHely, DateTime szuletesiIdo) { return TorzsadatService.GetTanuloLetezik(oktatasiAzonosito, elotag, csaladiNev, utonev, szuletesiHely, szuletesiIdo); } [Route("alkalmazottak/eugyintezo")] [HttpGet] public List GetEUgyintezok() { return TorzsadatService.GetEUgyintezok(); } [Route("tanulok/{tanuloOktatasiAzonosito}/bkiurlap")] [HttpGet] public string GetTanuloAdatokBKIUrlaphoz(string tanuloOktatasiAzonosito) { var result = TorzsadatService.GetTanuloBKIUrlap(tanuloOktatasiAzonosito); var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; return JsonConvert.SerializeObject(result, jsonSerializerSettings); } [Route("ugyek/bki")] [HttpPost] public SaveResponseDto SendBKI([FromBody] JObject jsonData) { BKIRequestDto requestDto = JsonConvert.DeserializeObject(jsonData.ToString()); BKITanuloDto tanuloDto = JsonConvert.DeserializeObject(requestDto.Urlaptartalom); return TorzsadatService.SaveBKITanulo(tanuloDto, jsonData.ToString(), requestDto.Ugyiratszam); } [Route("torzsadat/tanev")] [HttpGet] public TanevDto GetTanev(int tanevKretaAzonosito) { return TorzsadatService.GetTanev(tanevKretaAzonosito); } [Route("tanitasirendkivetelnapok")] [HttpGet] public List GetTanitasiRendKivetelNapok(DateTime kezdete, DateTime vege) { return TorzsadatService.GetTanitasiRendKivetelNapok(kezdete, vege); } [Route("tanulok/diakigazolvanyszam")] [HttpGet] public TanuloDto GetTanuloByDiakigazolvanyszam(string diakigazolvanyszam) { return TorzsadatService.GetTanuloByDiakigazolvanyszam(diakigazolvanyszam); } [Route("torzsadat/vezetetttanoraicsoportok")] [HttpGet] public List GetVezetettTanoraiCsoportok(int alkalmazottKretaAzonosito) { return TorzsadatService.GetVezetettTanoraiCsoportok(alkalmazottKretaAzonosito); } [Route("torzsadat/tanitotttanoraicsoportok")] [HttpGet] public List GetTanitottTanoraiCsoportok(int alkalmazottKretaAzonosito) { return TorzsadatService.GetTanitottTanoraiCsoportok(alkalmazottKretaAzonosito); } [Route("status")] [HttpGet] public IHttpActionResult GetStatuszInformacio() { var content = new { BuildNumber = Core.KretaVersion.Instance.MainVersion }; var serializerSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; return Json(content, serializerSettings); } [Route("torzsadat/bulktanulokbykretaazonosito")] [HttpPost] public List GetBulkTanuloAdatok(List kretaAzonositok) { return TorzsadatService.GetBulkTanuloAdatok(kretaAzonositok); } [Route("torzsadat/bulkgondviseloadatok")] [HttpPost] public List GetBulkGondviseloAdatok(List kretaAzonositok) { return TorzsadatService.GetBulkGondviseloAdatok(kretaAzonositok); } [Route("torzsadat/bulkalkalmazottadatok")] [HttpPost] public List GetBulkAlkalmazottAdatok(List kretaAzonositok) { return TorzsadatService.GetBulkAlkalmazottAdatok(kretaAzonositok); } [Route("torzsadat/tanuloadatok")] [HttpGet] public TanuloDto GetTanuloAdatok([FromUri(Name = "idpEgyediAzonosito")] Guid tanuloIdpEgyediAzonosito, int? tanevKretaAzonosito = null) { return TorzsadatService.GetTanuloAdatok(tanuloIdpEgyediAzonosito, tanevKretaAzonosito); } } }