init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
BIN
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/.DS_Store
vendored
Normal file
BIN
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/.DS_Store
vendored
Normal file
Binary file not shown.
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"config": {
|
||||
"connectionStrings": [
|
||||
"Data Source=kretalocal;User ID=kreta;Password=Porcica1.;Initial Catalog=KRETA_MOBIL_DevKornel;Connection Timeout=3000;"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,212 @@
|
|||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Kreta.Ellenorzo.Dto</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Kreta.Ellenorzo.Dto.VN.Converter.UidConverter`1">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.10.
|
||||
This converts the Uid dto model prop to a string value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.06.
|
||||
This registers the converter functions called ModelToDto, but it's not mandatory to do.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Felhasznalo.Alkalmazott.Tanar.OsztalyFonok.OsztalyfonokListRequestDto.Uids">
|
||||
<summary>
|
||||
Osztályfőnök uid lista filter pontosvesszővel elválasztva
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.HaziFeladat.HaziFeladatListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Végdátum (UTC ISO 8601, BE ShortDateTime-ra normalizálja) is még a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.HaziFeladat.HaziFeladatListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő dátum (UTC ISO 8601, BE ShortDateTime-ra normalizálja) is már a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.Dto.VN.Documentation.DocumentationExampleDto">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.06.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.BejelentettSzamonkeres.BejelentettSzamonkeresListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Végdátum (UTC ISO 8601, BE ShortDateTime-ra normalizálja) is még a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.BejelentettSzamonkeres.BejelentettSzamonkeresListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő dátum (UTC ISO 8601, BE ShortDateTime-ra normalizálja) is már a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.BejelentettSzamonkeres.BejelentettSzamonkeresListRequestDto.Uids">
|
||||
<summary>
|
||||
Uid lista filter pontosvesszővel elválasztva
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Adatszotar.AdatszotarResponseDto`1.Uid">
|
||||
<summary>
|
||||
Adatszótár elem uid vagy enum int value
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Adatszotar.AdatszotarResponseDto`1.Nev">
|
||||
<summary>
|
||||
Adatszótár neve vagy enum value; Egyedileg admin által rögzített adatszótár elem esetén AdatszotarElem
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Adatszotar.AdatszotarResponseDto`1.Leiras">
|
||||
<summary>
|
||||
Felhasználó számára megjeleníthető szöveges érték
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Ertekeles.Atlag.OsztalyAtlag.SajatOsztalyAtlagListRequestDto.OktatasiNevelesiFeladatUid">
|
||||
<summary>
|
||||
Oktatási nevelési feladat filter
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Ertekeles.Atlag.OsztalyAtlag.SajatOsztalyAtlagListRequestDto.TantargyUid">
|
||||
<summary>
|
||||
Tantárgy Uid filter. Paraméter üresen hagyása esetén nincs szűrés alkalmazva.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Ertekeles.TanuloOsztalyCsoporthozViszonyitottTantargyiAtlagRequestDto.OsztalyCsoportUid">
|
||||
<summary>
|
||||
Az osztály egyedi azonosítója, csak aktív lehet
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Ertekeles.ErtekelesListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Végdátum (ShortDateTime, UTC ISO 8601) is még a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Ertekeles.ErtekelesListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő dátum (ShortDateTime, UTC ISO 8601) is már a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Ertekeles.ErtekelesListRequestDto.Uid">
|
||||
<summary>
|
||||
Uid filter (Id,ErtekelesJelleg)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Ertekeles.ErtekelesListRequestDto.TantargyUids">
|
||||
<summary>
|
||||
TantargyUid filter pontosvesszővel elválasztva
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Faliujsag.FaliujsagListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Végdátum (UTC ISO 8601, BE ShortDateTime-ra normalizálja) is még a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Faliujsag.FaliujsagListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő dátum (UTC ISO 8601, BE ShortDateTime-ra normalizálja) is már a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Fogadoora.FogadooraIdopontJelentkezesCreateRequestDto.FogadooraIdopontUid">
|
||||
<summary>
|
||||
A jelentkezni kívánt fogadóóra-időpont azonosítója
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Fogadoora.FogadooraListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Végdátum (ShortDateTime, UTC ISO 8601) is még a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Fogadoora.FogadooraListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő dátum (DateTime, UTC ISO 8601) is már a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.Dto.VN.Interfaces.IDtoListDocumentation">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
Az interface-t implementáló model a dokumentációban egy generikus példaválasz fog adni
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.Dto.VN.Interfaces.IDtoDocumentation">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
Az interface-t implementáló model a dokumentációban egy példaválasz fog adni
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Intezmeny.Hetirend.HetirendListRequestDto.OrarendElemVegNapDatuma">
|
||||
<summary>
|
||||
Záró időpont (UTC ISO 8601) (A filter zárt intervallumot határoz meg)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Intezmeny.Hetirend.HetirendListRequestDto.OrarendElemKezdoNapDatuma">
|
||||
<summary>
|
||||
Kezdő időpont (UTC ISO 8601) (A filter zárt intervallumot határoz meg)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Orarend.OrarendElemGetRequestDto.OrarendElemUid">
|
||||
<summary>
|
||||
Órarendi elem uid-ja (Id, OraTipusa, OraDatuma UTC ISO 8601)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Orarend.OrarendElemListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Záró időpont (UTC ISO 8601), az ebben az időpontban folyamatban lévő órát is vissaadjuk.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Orarend.OrarendElemListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő időpont (UTC ISO 8601), az ebben az időpontban folyamatban lévő órát is vissaadjuk.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Feljegyzes.FeljegyzesListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Végdátum (ShortDateTime, UTC ISO 8601) is még a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Feljegyzes.FeljegyzesListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő dátum (ShortDateTime, UTC ISO 8601) is már a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Feljegyzes.FeljegyzesListRequestDto.Uid">
|
||||
<summary>
|
||||
Uid filter
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Mulasztas.MulasztasListRequestDto.DatumIg">
|
||||
<summary>
|
||||
Végdátum (ShortDateTime, UTC ISO 8601) is még a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Mulasztas.MulasztasListRequestDto.DatumTol">
|
||||
<summary>
|
||||
Kezdő dátum (ShortDateTime, UTC ISO 8601) is már a lekérdezés része (zárt intervallumon működik a szűrés)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Kreta.Ellenorzo.Dto.VN.Mulasztas.MulasztasListRequestDto.Uid">
|
||||
<summary>
|
||||
Mulasztás Uid
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.Dto.VN.Utility.Extensions">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.06.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.Dto.VN.Utility.Extensions.ToIso8601Utc(System.DateTime)">
|
||||
UTC: 2016-10-30T20:00:00Z
|
||||
Local: 2016-10-30T23:00:00+01:00
|
||||
Unspecified: 2016-10-30T22:00:00
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.Dto.VN.Utility.Extensions.ToIso8601UtcString(System.DateTime)">
|
||||
UTC: 2016-10-30T20:00:00Z
|
||||
Local: 2016-10-30T23:00:00+01:00
|
||||
Unspecified: 2016-10-30T22:00:00
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
|
@ -0,0 +1,278 @@
|
|||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Kreta.Ellenorzo.Web</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Kreta.Ellenorzo.WebApi.WebApiConfig">
|
||||
<summary>
|
||||
Web Api configuration class
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.WebApiConfig.Register(System.Web.Http.HttpConfiguration)">
|
||||
<summary>
|
||||
Web Api configuration entry
|
||||
</summary>
|
||||
<param name="config">HttpConfiguration for configuring web Api</param>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.WebApi.VN.Logic.EnumLogic">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.06.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.BejelentesController.CovidBejelentes">
|
||||
<summary>
|
||||
Covid fertőzöttség bejelentése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.ErtekelesController.GetErtekeles(System.String)">
|
||||
<summary>
|
||||
Tanuló egy értékelése
|
||||
</summary>
|
||||
<param name="uid">Uid filter</param>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.ErtekelesController.ListErtekeles(Kreta.Ellenorzo.Dto.VN.Ertekeles.ErtekelesListRequestDto)">
|
||||
<summary>
|
||||
Tanuló értékelései
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.ErtekelesController.ListBizonyitvany(Kreta.Ellenorzo.Dto.VN.Ertekeles.ErtekelesListRequestDto)">
|
||||
<summary>
|
||||
Tanuló bizonyítvány értékelései
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.ErtekelesController.ListNemBizonyitvanyok(Kreta.Ellenorzo.Dto.VN.Ertekeles.ErtekelesListRequestDto)">
|
||||
<summary>
|
||||
Tanuló évközi + egyéb (modulzáró vizsga, pótvizsga...) értékelései
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.ErtekelesController.ListAktualisTanuloTantargyiAtlag(Kreta.Ellenorzo.Dto.VN.Ertekeles.Atlag.TantargyiAtlag.SajatTantargyiAtlagListRequestDto)">
|
||||
<summary>
|
||||
Tanuló összes tanult tantárgyának átlaga
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.ErtekelesController.ListOsztalyAtlag(Kreta.Ellenorzo.Dto.VN.Ertekeles.Atlag.OsztalyAtlag.SajatOsztalyAtlagListRequestDto)">
|
||||
<summary>
|
||||
Tanuló összes tanult tantárgyának átlaga és osztályátlaga
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.DummyEnumDocumentationController.GetDummyEnum">
|
||||
<summary>
|
||||
Nem hívható, technikai endpoint. Rendszerben megtalálható enum értékek lekérdezése.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.DummyEnumDocumentationController.ListDummy">
|
||||
<summary>
|
||||
Nem hívható, technikai endpoint. Még el nem készült BE fejlesztések tesztelésére.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.TargyiEszkozController.PostGondviseloEszkozIgenyles(Kreta.Ellenorzo.Dto.VN.Felhasznalo.Gondviselo.RegisztracioRequestDto)">
|
||||
<summary>
|
||||
Gondviselő eszköz igényléshez szükséges adatainak elküldése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.TargyiEszkozController.IsRegisztralt">
|
||||
<summary>
|
||||
Gondviselő regisztrált-e már
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.TargyiEszkozController.IsEszkozKiosztva">
|
||||
<summary>
|
||||
A gondviselőhöz tartozó tanulónak van-e már kiosztott eszköze
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FogadooraController.ListFogadoorak(Kreta.Ellenorzo.Dto.VN.Fogadoora.FogadooraListRequestDto)">
|
||||
<summary>
|
||||
Fogadóórák időpontjainak lekérdezése gondviselők számára
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FogadooraController.GetFogadoora(System.String)">
|
||||
<summary>
|
||||
Fogadóóra lekérdezése gondviselők számára
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FogadooraController.DeleteFogadooraIdopontJelentkezes(System.String)">
|
||||
<summary>
|
||||
Jelentkezett fogadóóra időpont lemondás
|
||||
</summary>
|
||||
<param name="uid">Fogadóóra időpont uid-ja</param>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FogadooraController.CreateFogadooraIdopontJelentkezes(System.String)">
|
||||
<summary>
|
||||
Gondviselő fogadóóra-időpont jelentkezés
|
||||
</summary>
|
||||
<param name="uid">Fogadóóra időpont uid-ja</param>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.IntezmenyController.GetIntezmeny">
|
||||
<summary>
|
||||
Saját intézmény adatai
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.LepController.GetEloadasok">
|
||||
<summary>
|
||||
Lázár Ervin Program előadások lekérdezése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.LepController.GondviseloEngedelyezes(Kreta.Ellenorzo.Dto.VN.Lep.GondviseloEngedelyezesRequestDto)">
|
||||
<summary>
|
||||
Lázár Ervin Program előadás engedélyezése, elutasítása vagy függőbe tétele.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.OsztalyCsoportController.ListTanuloOsztalyCsoport">
|
||||
<summary>
|
||||
Osztályok és csoportok, amikbe a tanuló valaha be volt sorolva az aktuális tanévben.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.TanevRendjeController.ListTanevRendje">
|
||||
<summary>
|
||||
Tanulóra vonatkozó tanév rendje elemek
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.HetirendController.ListHetirend(Kreta.Ellenorzo.Dto.VN.Intezmeny.Hetirend.HetirendListRequestDto)">
|
||||
<summary>
|
||||
Órarendhez tartozó hetirendi elemek
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FaliujsagController.ListFaliujsag(Kreta.Ellenorzo.Dto.VN.Faliujsag.FaliujsagListRequestDto)">
|
||||
<summary>
|
||||
Tanuló számára megjelenő admin és tanár által rögzített faliújság elemek
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.MulasztasController.GetMulasztas(System.String)">
|
||||
<summary>
|
||||
Tanuló mulasztás entitás lekérdezése
|
||||
</summary>
|
||||
<param name="uid">Mulasztás Uid filter</param>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.MulasztasController.ListMulasztas(Kreta.Ellenorzo.Dto.VN.Mulasztas.MulasztasListRequestDto)">
|
||||
<summary>
|
||||
Tanuló mulasztásai
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.OrarendController.ListOrarend(Kreta.Ellenorzo.Dto.VN.Orarend.OrarendElemListRequestDto)">
|
||||
<summary>
|
||||
Visszaadja a tanuló órarendi elemeit egy megadott időszakra (tanév rendje eseményeket is)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.OrarendController.GetOrarendElem(Kreta.Ellenorzo.Dto.VN.Orarend.OrarendElemGetRequestDto)">
|
||||
<summary>
|
||||
Órarend elem entitás lekérdezése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.HaziFeladatController.GetHaziFeladat(System.String)">
|
||||
<summary>
|
||||
Házi feladat entitás lekérdezése
|
||||
</summary>
|
||||
<param name="uid">Házi feladat Uid filter</param>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.HaziFeladatController.ListHaziFeladat(Kreta.Ellenorzo.Dto.VN.HaziFeladat.HaziFeladatListRequestDto)">
|
||||
<summary>
|
||||
Házi feladatok lekérdezése határidő alapján
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FeljegyzesController.GetFeljegyzes(System.String)">
|
||||
<summary>
|
||||
Tanuló tanítási órán tanár által generált feljegyzése
|
||||
</summary>
|
||||
<param name="uid">Feljegyzés Uid filter</param>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FeljegyzesController.ListFeljegyzes(Kreta.Ellenorzo.Dto.VN.Feljegyzes.FeljegyzesListRequestDto)">
|
||||
<summary>
|
||||
Tanuló tanítási órán tanár által generált feljegyzései
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.GetTanuloAdatlap">
|
||||
<summary>
|
||||
Tanulóval, gondviselőivel és intézményével kapcsolatos információk és elérhetőségek
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.GetOsztalyfonokok(Kreta.Ellenorzo.Dto.VN.Felhasznalo.Alkalmazott.Tanar.OsztalyFonok.OsztalyfonokListRequestDto)">
|
||||
<summary>
|
||||
Osztályfőnökök lekérése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.PostBankszamla(Kreta.Ellenorzo.Dto.VN.Felhasznalo.BankszamlaRequestDto)">
|
||||
<summary>
|
||||
Bankszámlaszám rögzítése a tanulóhoz.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.DeleteBankszamla">
|
||||
<summary>
|
||||
Tanuló bankszámlaszámának törlése.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.PostElerhetoseg(Kreta.Ellenorzo.Dto.VN.Felhasznalo.ElerhetosegRequestDto)">
|
||||
<summary>
|
||||
Elérhetőség rögzítése tanulóhoz vagy gondviselőhöz.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.IsTorvenyesKepviselo">
|
||||
<summary>
|
||||
A gondviselő "Törvényes képviselő" tulajdonságának lekérdezése.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.GetGondviseloAdatlap">
|
||||
<summary>
|
||||
Gondviselő 4T adatainak lekérdezése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.PutGondviseloAdatlap(Kreta.Ellenorzo.Dto.VN.Felhasznalo.Gondviselo.GondviseloBaseAdatlapRequestDto)">
|
||||
<summary>
|
||||
Gondviselő 4T adatainak módosítása
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.PostGondviseloEszkozIgenyles(Kreta.Ellenorzo.Dto.VN.Felhasznalo.Gondviselo.RegisztracioRequestDto)">
|
||||
<summary>
|
||||
Gondviselő eszköz igényléshez szükséges adatainak elküldése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.FelhasznaloController.GetNapiErtesitesOsszefoglalo">
|
||||
<summary>
|
||||
Napi értesítés összefoglaló lekérdezése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.BejelentettSzamonkeresController.ListBejelentettSzamonkeres(Kreta.Ellenorzo.Dto.VN.BejelentettSzamonkeres.BejelentettSzamonkeresListRequestDto)">
|
||||
<summary>
|
||||
Bejelentett számonkérések lekérdezése
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.WebApi.VN.Controllers.BejelentettSzamonkeresController.GetBejelentettSzamonkeres(System.String)">
|
||||
<summary>
|
||||
Bejelentett számonkérés lekérdezése uid alapján
|
||||
</summary>
|
||||
<param name="uid">Bejelentett számonkérés Uid filter</param>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.WebApi.VN.Documentation.DummyEnumExampleProvider">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél), Madách Ferenc Created On: 2019.06.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.WebApi.VN.Documentation.DummyListExampleProvider`2">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.WebApi.VN.Documentation.DummyExampleProvider`2">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.WebApi.VN.Documentation.Helper.ExampleHelper">
|
||||
<summary>
|
||||
Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
Dokumentáció generálásához szükséges segédfüggvények
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Kreta.Ellenorzo.WebApi.VN.Documentation.ValidaciosHibaExample`2">
|
||||
<summary>
|
||||
Author: DevKornél Created On: 2019.05.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Kreta.Ellenorzo.Web.VN.Controllers.CsatolmanyController.GetCsatolmany(System.String)">
|
||||
<summary>
|
||||
Csatolmány lekérdezése
|
||||
</summary>
|
||||
<param name="uid">A csatolmány egyedi azonosítója (Id)</param>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
|
@ -0,0 +1,142 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Reflection;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Description;
|
||||
using Kreta.Core.Configuratiaton;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Ellenorzo.Dto.VN.Attributes;
|
||||
using Kreta.Ellenorzo.WebApi;
|
||||
using Swashbuckle.Application;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger;
|
||||
using WebActivatorEx;
|
||||
|
||||
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), nameof(SwaggerConfig.Register))]
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi
|
||||
{
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1053:StaticHolderTypesShouldNotHaveConstructors")]
|
||||
public class SwaggerConfig
|
||||
{
|
||||
private const string HeaderString = "header";
|
||||
|
||||
public class SwaggerChangeTypeFilter : ISchemaFilter
|
||||
{
|
||||
public void Apply(Schema schema, SchemaRegistry schemaRegistry, Type type)
|
||||
{
|
||||
if (schema?.properties == null || type == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var selectedProperties = type.GetProperties().Where(t => t.GetCustomAttribute<SwaggerChangeTypeAttribute>() != null);
|
||||
|
||||
foreach (var property in selectedProperties)
|
||||
{
|
||||
var x = schema.properties[property.Name];
|
||||
if (property.GetCustomAttribute<SwaggerChangeTypeAttribute>().NewType == typeof(string))
|
||||
{
|
||||
x.@ref = null;
|
||||
x.type = "string";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new BlException(BlExceptionType.ElvartErtekNemTalalhato);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Register()
|
||||
{
|
||||
if (bool.Parse(ConfigurationManager.AppSettings["IsSwaggerUiEnabled"]))
|
||||
{
|
||||
GlobalConfiguration.Configuration
|
||||
.EnableSwagger(c =>
|
||||
{
|
||||
c.MultipleApiVersions(
|
||||
(apiDesc, targetApiVersion) => ResolveVersionSupportByRouteConstraint(apiDesc, targetApiVersion),
|
||||
(vc) =>
|
||||
{
|
||||
_ = vc.Version(VN.Constants.RoutePrefix, $"Kreta.Ellenorzo.WebApi {VN.Constants.RoutePrefix}");
|
||||
}
|
||||
);
|
||||
|
||||
c.IncludeXmlComments($"{AppDomain.CurrentDomain.BaseDirectory}\\App_Data\\Kreta.Ellenorzo.Web.XML");
|
||||
c.IncludeXmlComments($"{AppDomain.CurrentDomain.BaseDirectory}\\App_Data\\Kreta.Ellenorzo.Dto.xml");
|
||||
c.OperationFilter<ExamplesOperationFilter>();
|
||||
c.OperationFilter<DescriptionOperationFilter>();
|
||||
c.UseFullTypeNameInSchemaIds();
|
||||
|
||||
_ = c.ApiKey("Token")
|
||||
.Description("Filling bearer token here")
|
||||
.Name("Authorization")
|
||||
.In(HeaderString);
|
||||
|
||||
c.OperationFilter<AddAuthorizationHeaderParameter>();
|
||||
c.SchemaFilter<SwaggerChangeTypeFilter>();
|
||||
c.RootUrl(ResolveBasePath);
|
||||
})
|
||||
.EnableSwaggerUi(c =>
|
||||
{
|
||||
c.DocExpansion(DocExpansion.List);
|
||||
c.EnableApiKeySupport("Authorization", HeaderString);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private static string ResolveBasePath(HttpRequestMessage message)
|
||||
{
|
||||
var virtualPathRoot = message.GetRequestContext().VirtualPathRoot;
|
||||
var schemeAndHost = "https://" + message.RequestUri.Host;
|
||||
return new Uri(new Uri(schemeAndHost, UriKind.Absolute), virtualPathRoot).AbsoluteUri;
|
||||
}
|
||||
|
||||
private static bool ResolveVersionSupportByRouteConstraint(ApiDescription apiDesc, string targetApiVersion)
|
||||
{
|
||||
string[] path = apiDesc.RelativePath.Split(new[] { '/' });
|
||||
string pathVersion = path[0];
|
||||
|
||||
return CultureInfo.InvariantCulture.CompareInfo.IndexOf(pathVersion, targetApiVersion, CompareOptions.IgnoreCase) >= 0;
|
||||
}
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1812:AvoidUninstantiatedInternalClasses")]
|
||||
private sealed class AddAuthorizationHeaderParameter : IOperationFilter
|
||||
{
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0")]
|
||||
public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
|
||||
{
|
||||
operation.parameters = operation.parameters ?? new List<Parameter>();
|
||||
|
||||
operation.parameters.Add(new Parameter
|
||||
{
|
||||
name = "Authorization",
|
||||
@in = HeaderString,
|
||||
description = "access token",
|
||||
required = false,
|
||||
type = "string"
|
||||
});
|
||||
|
||||
if (ApiKeyConfiguration.Instance.Enabled)
|
||||
{
|
||||
operation.parameters.Add(new Parameter
|
||||
{
|
||||
name = "ApiKey",
|
||||
@in = HeaderString,
|
||||
description = "api key",
|
||||
required = false,
|
||||
type = "string",
|
||||
@default = ApiKeyConfiguration.Instance.ApiKey
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
using System.Web.Http;
|
||||
using Kreta.Core.JsonConverter;
|
||||
using Kreta.Core.ModelBinder;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Web.Logging.Interceptors;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi
|
||||
{
|
||||
/// <summary>
|
||||
/// Web Api configuration class
|
||||
/// </summary>
|
||||
public static class WebApiConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Web Api configuration entry
|
||||
/// </summary>
|
||||
/// <param name="config">HttpConfiguration for configuring web Api</param>
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0")]
|
||||
public static void Register(HttpConfiguration config)
|
||||
{
|
||||
System.Net.Http.Formatting.JsonMediaTypeFormatter formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
|
||||
|
||||
formatter.SerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
Formatting = Formatting.Indented,
|
||||
TypeNameHandling = TypeNameHandling.None
|
||||
};
|
||||
|
||||
formatter.SerializerSettings.Converters.Add(new StringTrimConverter());
|
||||
formatter.SerializerSettings.Converters.Add(new StringEnumConverter());
|
||||
|
||||
#pragma warning disable S3900 // Arguments of public methods should be validated against null
|
||||
config.Filters.Add(new DefaultExceptionFilterAttribute());
|
||||
#pragma warning restore S3900 // Arguments of public methods should be validated against null
|
||||
config.Filters.Add(new ApiKeyAuthorizationAttribute());
|
||||
config.Filters.Add(new IdpAuthorizeAttribute());
|
||||
config.MapHttpAttributeRoutes();
|
||||
config.MessageHandlers.Add(new ApiLoggingHandler());
|
||||
|
||||
config.BindParameter(typeof(string), new StringTrimModelBinder());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Web.Http.Controllers;
|
||||
using System.Web.Http.Filters;
|
||||
using Kreta.Core.Configuratiaton;
|
||||
|
||||
namespace Kreta.Ellenorzo.Web.FilterAttributes
|
||||
{
|
||||
internal class ApiKeyAuthorizationAttribute : AuthorizationFilterAttribute, IOverrideFilter
|
||||
{
|
||||
public Type FiltersToOverride => typeof(IAuthorizationFilter);
|
||||
|
||||
public override void OnAuthorization(HttpActionContext actionContext)
|
||||
{
|
||||
if (!AccessGrantedByApiKey(actionContext.Request.Headers))
|
||||
{
|
||||
actionContext.Response = new HttpResponseMessage(HttpStatusCode.Forbidden)
|
||||
{
|
||||
Content = new StringContent("permission_denied")
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private static bool AccessGrantedByApiKey(HttpRequestHeaders headers)
|
||||
{
|
||||
if (headers is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(headers));
|
||||
}
|
||||
|
||||
if (ApiKeyConfiguration.Instance.Enabled)
|
||||
{
|
||||
if (headers.TryGetValues(nameof(ApiKeyConfiguration.ApiKey), out var apiKeys))
|
||||
{
|
||||
var targetApiKey = apiKeys.FirstOrDefault();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(targetApiKey) && targetApiKey == ApiKeyConfiguration.Instance.ApiKey)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Http.Filters;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Domain;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Core.Validation.Exceptions;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Web.Logging.Extensions;
|
||||
using Kreta.Web.Logging.Logger;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.FilterAttributes
|
||||
{
|
||||
internal sealed class DefaultExceptionFilterAttribute : ExceptionFilterAttribute
|
||||
{
|
||||
private readonly string _mobileUserLogKey = "MobileUser";
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0")]
|
||||
#pragma warning disable S1541 // Methods and properties should not be too complex
|
||||
public override void OnException(HttpActionExecutedContext actionExecutedContext)
|
||||
#pragma warning restore S1541 // Methods and properties should not be too complex
|
||||
{
|
||||
if (actionExecutedContext.Exception != null)
|
||||
{
|
||||
EllenorzoExceptionResponseDto response;
|
||||
if (actionExecutedContext.Exception.InnerException is ValidationException validationException)
|
||||
{
|
||||
const BlExceptionType ResponseExceptionType = BlExceptionType.ModelValidacio;
|
||||
var errorList = validationException.ValidationItems.Select(x => new DetailedErrorItem(x.Id, x.Message, BlExceptionType.ModelValidacio)).ToList();
|
||||
response = new EllenorzoExceptionResponseDto(ResponseExceptionType, ResponseExceptionType.ToDisplayName(), errorList);
|
||||
actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(HttpStatusCode.BadRequest);
|
||||
actionExecutedContext.Response.Content = SerializeToHttpContent(response);
|
||||
}
|
||||
else if ((actionExecutedContext.Exception.InnerException ?? actionExecutedContext.Exception) is EntityNotFoundException)
|
||||
{
|
||||
const BlExceptionType ResponseExceptionType = BlExceptionType.NemLetezoEntitas;
|
||||
|
||||
response = new EllenorzoExceptionResponseDto(ResponseExceptionType, ResponseExceptionType.ToDisplayName());
|
||||
actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(HttpStatusCode.NotFound);
|
||||
actionExecutedContext.Response.Content = SerializeToHttpContent(response);
|
||||
}
|
||||
else if ((actionExecutedContext.Exception.InnerException ?? actionExecutedContext.Exception) is BlException blException)
|
||||
{
|
||||
var responseExceptionType = blException.ExceptionType;
|
||||
var responseStatusCode = blException.GetResponseStatusCode();
|
||||
|
||||
if (responseStatusCode == HttpStatusCode.Forbidden && string.IsNullOrEmpty(blException.Message))
|
||||
{
|
||||
actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(responseStatusCode);
|
||||
actionExecutedContext.Response.Content = new StringContent("permission_denied");
|
||||
return;
|
||||
}
|
||||
|
||||
response = new EllenorzoExceptionResponseDto(responseExceptionType,
|
||||
blException.Message,
|
||||
blException.ErrorList);
|
||||
actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(responseStatusCode);
|
||||
actionExecutedContext.Response.Content = SerializeToHttpContent(response);
|
||||
}
|
||||
else if ((actionExecutedContext.Exception.InnerException ?? actionExecutedContext.Exception) is OperationCanceledException)
|
||||
{
|
||||
var taskCancelledException = new BlException(BlExceptionType.TaskCancelled.ToDisplayName(), BlExceptionType.TaskCancelled, actionExecutedContext.Exception);
|
||||
|
||||
response = new EllenorzoExceptionResponseDto(taskCancelledException.ExceptionType, taskCancelledException.ExceptionType.ToDisplayName());
|
||||
actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(taskCancelledException.GetResponseStatusCode());
|
||||
actionExecutedContext.Response.Content = SerializeToHttpContent(response);
|
||||
actionExecutedContext.Exception = taskCancelledException;
|
||||
}
|
||||
else
|
||||
{
|
||||
response = new EllenorzoExceptionResponseDto(BlExceptionType.None, BlExceptionType.None.ToDisplayName());
|
||||
actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(HttpStatusCode.InternalServerError);
|
||||
actionExecutedContext.Response.Content = SerializeToHttpContent(response);
|
||||
}
|
||||
|
||||
actionExecutedContext.Exception.Data.Add(_mobileUserLogKey, JsonConvert.SerializeObject(FelhasznaloLogic.GetFelhasznalo()));
|
||||
if (!actionExecutedContext.Exception.Data.Contains(RequestResponseLoggingFields.Server.ExceptionId))
|
||||
{
|
||||
actionExecutedContext.Exception.Data.Add(RequestResponseLoggingFields.Server.ExceptionId, response.ExceptionId);
|
||||
}
|
||||
HttpContext.Current.AddException(actionExecutedContext.Exception);
|
||||
}
|
||||
}
|
||||
|
||||
private static HttpContent SerializeToHttpContent(object model) => new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Security.Claims;
|
||||
using System.Security.Principal;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Http.Controllers;
|
||||
using System.Web.Http.Filters;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.FilterAttributes
|
||||
{
|
||||
public sealed class IdpAuthorizeAttribute : AuthorizationFilterAttribute, IOverrideFilter
|
||||
{
|
||||
private readonly IEnumerable<FelhasznaloSzerepkor> _permitForRoles;
|
||||
|
||||
public Type FiltersToOverride => typeof(IAuthorizationFilter);
|
||||
|
||||
public IdpAuthorizeAttribute(params FelhasznaloSzerepkor[] permitForRoles)
|
||||
{
|
||||
_permitForRoles = permitForRoles;
|
||||
}
|
||||
|
||||
public override Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
|
||||
{
|
||||
if (actionContext == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(actionContext));
|
||||
}
|
||||
|
||||
ClaimsPrincipal principal = actionContext.ControllerContext.RequestContext.Principal as ClaimsPrincipal;
|
||||
|
||||
if (!(principal?.Identity?.IsAuthenticated ?? false))
|
||||
{
|
||||
actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized)
|
||||
{
|
||||
Content = new StringContent("invalid_grant")
|
||||
};
|
||||
return Task.FromResult(0);
|
||||
}
|
||||
|
||||
// KRETA2-5522 miatt van a user neve felülírva
|
||||
actionContext.ControllerContext.RequestContext.Principal = new ClaimsPrincipal(new ClaimsIdentity(GetCustomIdentity(), principal.Claims));
|
||||
|
||||
if (_permitForRoles == null || !_permitForRoles.Any())
|
||||
{
|
||||
return Task.FromResult(0);
|
||||
}
|
||||
|
||||
if (HasRole(principal))
|
||||
{
|
||||
return Task.FromResult(0);
|
||||
}
|
||||
|
||||
actionContext.Response = new HttpResponseMessage(HttpStatusCode.Forbidden)
|
||||
{
|
||||
Content = new StringContent("permission_denied")
|
||||
};
|
||||
return Task.FromResult(0);
|
||||
}
|
||||
|
||||
private bool HasRole(IPrincipal principal)
|
||||
{
|
||||
if (principal is ClaimsPrincipal claimsPrincipal)
|
||||
{
|
||||
var roleClaims = claimsPrincipal.Claims.Where(claim => claim.Type == ClaimTypes.Role);
|
||||
|
||||
foreach (var roleClaim in roleClaims)
|
||||
{
|
||||
if (Enum.TryParse(roleClaim.Value, out FelhasznaloSzerepkor role) && _permitForRoles.Contains(role))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static GenericIdentity GetCustomIdentity()
|
||||
{
|
||||
var user = FelhasznaloLogic.GetFelhasznalo();
|
||||
return new GenericIdentity($"{user.UserIdpUniqueId}/{user.InstituteCode}/{user.UserId}/{user.TutelaryId?.ToString() ?? "NULL"}/{user.SchoolYearId}");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<%@ Application Codebehind="Global.asax.cs" Inherits="Kreta.Ellenorzo.WebApi.WebApiApplication" Language="C#" %>
|
60
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/Global.asax.cs
Normal file
60
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/Global.asax.cs
Normal file
|
@ -0,0 +1,60 @@
|
|||
using System;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using System.Xml;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi
|
||||
{
|
||||
public class WebApiApplication : HttpApplication
|
||||
{
|
||||
private static KretaServer.KretaServer s_kretaServer;
|
||||
|
||||
protected void Application_Start()
|
||||
{
|
||||
ServerStarter();
|
||||
}
|
||||
|
||||
protected void Application_End(object sender, EventArgs e)
|
||||
{
|
||||
if (s_kretaServer != null)
|
||||
{
|
||||
if (s_kretaServer.IsRunning)
|
||||
{
|
||||
s_kretaServer.Stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
#pragma warning disable S2696 // Instance members should not write to "static" fields
|
||||
s_kretaServer = null;
|
||||
#pragma warning restore S2696 // Instance members should not write to "static" fields
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
|
||||
private static void ServerStarter()
|
||||
{
|
||||
if (s_kretaServer == null || !s_kretaServer.IsRunning)
|
||||
{
|
||||
XmlNode fullnode = (XmlNode)ConfigurationManager.GetSection("ServerConfig");
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(fullnode.SelectSingleNode("/ServerConfig/config").OuterXml);
|
||||
|
||||
s_kretaServer = s_kretaServer ?? new KretaServer.KretaServer(doc.DocumentElement);
|
||||
|
||||
try
|
||||
{
|
||||
s_kretaServer.Start();
|
||||
}
|
||||
#pragma warning disable S2221 // "Exception" should not be caught when not required by called methods
|
||||
catch
|
||||
#pragma warning restore S2221 // "Exception" should not be caught when not required by called methods
|
||||
{
|
||||
#pragma warning disable S3626 // Jump statements should not be redundant
|
||||
return;
|
||||
#pragma warning restore S3626 // Jump statements should not be redundant
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,511 @@
|
|||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{032EB11A-2412-4790-AD5C-A1403459F9C6}</ProjectGuid>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Kreta.Ellenorzo.Web</RootNamespace>
|
||||
<AssemblyName>Kreta.Ellenorzo.Web</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<UseIISExpress>false</UseIISExpress>
|
||||
<Use64BitIISExpress />
|
||||
<IISExpressSSLPort />
|
||||
<IISExpressAnonymousAuthentication />
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<UseGlobalApplicationHostFile />
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>App_Data\Kreta.Ellenorzo.Web.xml</DocumentationFile>
|
||||
<NoWarn>1591</NoWarn>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CacheManager.Core, Version=1.2.0.0, Culture=neutral, PublicKeyToken=5b450b4fb65c4cdb, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\CacheManager.Core.1.2.0\lib\net45\CacheManager.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CacheManager.StackExchange.Redis, Version=1.2.0.0, Culture=neutral, PublicKeyToken=5b450b4fb65c4cdb, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\CacheManager.StackExchange.Redis.1.2.0\lib\net461\CacheManager.StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CacheManager.SystemRuntimeCaching, Version=1.2.0.0, Culture=neutral, PublicKeyToken=5b450b4fb65c4cdb, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\CacheManager.SystemRuntimeCaching.1.2.0\lib\net45\CacheManager.SystemRuntimeCaching.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevDefined.OAuth, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a3261f5b4697e67d, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\DevDefined.OAuth.0.2\lib\DevDefined.OAuth.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Easy.Logger, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Easy.Logger.3.2.0\lib\net40\Easy.Logger.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Easy.Logger.Interfaces, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Easy.Logger.Interfaces.1.1.0\lib\net40\Easy.Logger.Interfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Elasticsearch.Net, Version=7.0.0.0, Culture=neutral, PublicKeyToken=96c599bbe3e70f5d, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Elasticsearch.Net.7.0.0\lib\net461\Elasticsearch.Net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Hangfire.Core, Version=1.7.27.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Hangfire.Core.1.7.27\lib\net46\Hangfire.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Hangfire.SqlServer, Version=1.7.27.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Hangfire.SqlServer.1.7.27\lib\net45\Hangfire.SqlServer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IdentityModel, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\IdentityModel.1.9.2\lib\net45\IdentityModel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IdentityServer3.AccessTokenValidation, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\IdentityServer3.AccessTokenValidation.2.14.0\lib\net45\IdentityServer3.AccessTokenValidation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kreta.Core.Configuration, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Kreta.Core.Configuration.1.3.20119.1\lib\net452\Kreta.Core.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kreta.Core.IoC, Version=1.2.63491.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Kreta.Core.IoC.1.2.63491\lib\net452\Kreta.Core.IoC.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kreta.Core.Validation, Version=2.0.16.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Kreta.Core.Validation.2.0.16\lib\net452\Kreta.Core.Validation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kreta.Web.Logging, Version=1.4.5.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Kreta.Web.Logging.1.4.5\lib\net48\Kreta.Web.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kreta.Web.Logging.Abstractions, Version=1.0.12.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Kreta.Web.Logging.Abstractions.1.0.12\lib\net48\Kreta.Web.Logging.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net.ElasticSearch, Version=2.3.6.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\log4net.ElasticSearch.2.3.6\lib\net45\log4net.ElasticSearch.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.1\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Microsoft.DotNet.PlatformAbstractions, Version=2.0.4.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.DotNet.PlatformAbstractions.2.0.4\lib\net45\Microsoft.DotNet.PlatformAbstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.Configuration.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.Configuration.Abstractions.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration.Binder, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.Configuration.Binder.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.DependencyModel, Version=2.0.4.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.DependencyModel.2.0.4\lib\net451\Microsoft.Extensions.DependencyModel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Options, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.Options.2.0.1\lib\netstandard2.0\Microsoft.Extensions.Options.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Options.ConfigurationExtensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.Options.ConfigurationExtensions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Options.ConfigurationExtensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Primitives, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Extensions.Primitives.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Logging, Version=5.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.IdentityModel.Logging.5.4.0\lib\net461\Microsoft.IdentityModel.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Protocol.Extensions, Version=1.0.2.33, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.IdentityModel.Protocol.Extensions.1.0.2.206221351\lib\net45\Microsoft.IdentityModel.Protocol.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IdentityModel.Tokens, Version=5.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.IdentityModel.Tokens.5.4.0\lib\net461\Microsoft.IdentityModel.Tokens.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Owin.4.1.0\lib\net45\Microsoft.Owin.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Host.HttpListener, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Owin.Host.HttpListener.3.1.0\lib\net45\Microsoft.Owin.Host.HttpListener.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Host.SystemWeb, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Owin.Host.SystemWeb.4.1.0\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Hosting, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Owin.Hosting.3.1.0\lib\net45\Microsoft.Owin.Hosting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Owin.Security.4.1.0\lib\net45\Microsoft.Owin.Security.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security.Jwt, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Owin.Security.Jwt.3.1.0\lib\net45\Microsoft.Owin.Security.Jwt.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security.OAuth, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Owin.Security.OAuth.3.1.0\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Nexius.Common, Version=18.37.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Nexius.Common.1.0.0.29\lib\Nexius.Common.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Nexius.IdentityProvider.Model, Version=18.36.0.2101, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Nexius.IdentityProvider.Model.1.0.0.109\lib\Nexius.IdentityProvider.Model.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Pipelines.Sockets.Unofficial.2.1.16\lib\net472\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.2.8.0\lib\net46\Serilog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog.Formatting.Compact, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.Formatting.Compact.1.0.0\lib\net45\Serilog.Formatting.Compact.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog.Formatting.Elasticsearch, Version=0.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.Formatting.Elasticsearch.8.0.0\lib\net45\Serilog.Formatting.Elasticsearch.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog.Settings.Configuration, Version=3.1.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.Settings.Configuration.3.1.0\lib\net461\Serilog.Settings.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog.Sinks.Elasticsearch, Version=8.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.Sinks.Elasticsearch.8.0.0\lib\net461\Serilog.Sinks.Elasticsearch.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog.Sinks.File, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.Sinks.File.4.0.0\lib\net45\Serilog.Sinks.File.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog.Sinks.PeriodicBatching, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.Sinks.PeriodicBatching.2.1.1\lib\net45\Serilog.Sinks.PeriodicBatching.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Serilog.Sinks.RollingFile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Serilog.Sinks.RollingFile.3.3.0\lib\net45\Serilog.Sinks.RollingFile.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SimpleInjector, Version=4.0.11.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\SimpleInjector.4.0.11\lib\net45\SimpleInjector.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SimpleInjector.Integration.WebApi, Version=4.0.11.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\SimpleInjector.Integration.WebApi.4.0.11\lib\net45\SimpleInjector.Integration.WebApi.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\StackExchange.Redis.2.1.58\lib\net472\StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Swashbuckle.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cd1bb07a5ac7c7bc, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Swashbuckle.Core.5.6.0\lib\net40\Swashbuckle.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Swashbuckle.Examples, Version=3.12.0.0, Culture=neutral, PublicKeyToken=aa1e9c5053bfbe95, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Swashbuckle.Examples.3.12.0\lib\net40\Swashbuckle.Examples.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.Composition" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.3.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Diagnostics.DiagnosticSource.4.5.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Diagnostics.PerformanceCounter.4.7.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IdentityModel" />
|
||||
<Reference Include="System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.IO.Pipelines, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.IO.Pipelines.4.7.1\lib\netstandard2.0\System.IO.Pipelines.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Formatting, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.6\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Caching" />
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Threading.Channels.4.7.1\lib\net461\System.Threading.Channels.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Http, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.6\lib\net45\System.Web.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http.Owin, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.AspNet.WebApi.Owin.5.2.6\lib\net45\System.Web.Http.Owin.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http.WebHost, Version=5.2.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.6\lib\net45\System.Web.Http.WebHost.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="WebActivatorEx, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7b26dc2a43f6a0d4, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\packages\WebActivatorEx.2.2.0\lib\net40\WebActivatorEx.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="..\..\..\KretaWeb\Resources\DirtyWords.xml">
|
||||
<Link>DirtyWords.xml</Link>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="App_Data\Kreta.Ellenorzo.Dto.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="App_Data\Kreta.Ellenorzo.Web.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Global.asax" />
|
||||
<Content Include="Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\Tools\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="App_Start\SwaggerConfig.cs" />
|
||||
<Compile Include="App_Start\WebApiConfig.cs" />
|
||||
<Compile Include="FilterAttributes\ApiKeyAuthorizationAttribute.cs" />
|
||||
<Compile Include="VN\Common\Logic\EnumLogic.cs" />
|
||||
<Compile Include="VN\Common\Logic\FelhasznaloLogic.cs" />
|
||||
<Compile Include="FilterAttributes\DefaultExceptionFilterAtribute.cs" />
|
||||
<Compile Include="FilterAttributes\IdpAuthorizeAttribute.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Startup.cs" />
|
||||
<Compile Include="VN\Controllers\BejelentesController.cs" />
|
||||
<Compile Include="VN\Controllers\ErtekelesController.cs" />
|
||||
<Compile Include="VN\Controllers\DummyEnumDocumentationController.cs" />
|
||||
<Compile Include="VN\Controllers\TargyiEszkozController.cs" />
|
||||
<Compile Include="VN\Controllers\FogadooraController.cs" />
|
||||
<Compile Include="VN\Controllers\IntezmenyController.cs" />
|
||||
<Compile Include="VN\Controllers\CsatolmanyController.cs" />
|
||||
<Compile Include="VN\Controllers\LepController.cs" />
|
||||
<Compile Include="VN\Controllers\OsztalyCsoportController.cs" />
|
||||
<Compile Include="VN\Controllers\TanevRendjeController.cs" />
|
||||
<Compile Include="VN\Controllers\HetirendController.cs" />
|
||||
<Compile Include="VN\Controllers\FaliujsagController.cs" />
|
||||
<Compile Include="VN\Controllers\MulasztasController.cs" />
|
||||
<Compile Include="VN\Controllers\OrarendController.cs" />
|
||||
<Compile Include="VN\Controllers\HaziFeladatController.cs" />
|
||||
<Compile Include="VN\Controllers\FeljegyzesController.cs" />
|
||||
<Compile Include="VN\Controllers\FelhasznaloController.cs" />
|
||||
<Compile Include="VN\Controllers\BejelentettSzamonkeresController.cs" />
|
||||
<Compile Include="VN\Documentation\DescriptionLookUp.cs" />
|
||||
<Compile Include="VN\Documentation\DescriptionOneNote.cs" />
|
||||
<Compile Include="VN\Documentation\DummyEnumExampleProvider.cs" />
|
||||
<Compile Include="VN\Documentation\DummyListExampleProvider.cs" />
|
||||
<Compile Include="VN\Documentation\DummyExampleProvider.cs" />
|
||||
<Compile Include="VN\Documentation\Helper\ExampleHelper.cs" />
|
||||
<Compile Include="VN\Documentation\IntezmenyMarTanevetValtottExample.cs" />
|
||||
<Compile Include="VN\Documentation\AMuveletNemVegezhetoElTobbszorExample.cs" />
|
||||
<Compile Include="VN\Documentation\PermissionDeniedExample.cs" />
|
||||
<Compile Include="VN\Documentation\LejartTokenExample.cs" />
|
||||
<Compile Include="VN\Documentation\JogosulatlanExample.cs" />
|
||||
<Compile Include="VN\Documentation\ValidaciosHibaExample.cs" />
|
||||
<Compile Include="VN\Documentation\IsmeretlenHibaExample.cs" />
|
||||
<Compile Include="VN\Documentation\NemLetezoEntitasExample.cs" />
|
||||
<Compile Include="VN\Constants.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="..\..\..\KretaWeb\Resources\StringResources.kres">
|
||||
<Link>StringResources.kres</Link>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="App_Data\IntezmenyConnectionString.json" />
|
||||
<Content Include="VN\Documentation\SwaggerPostBuildCheck.ps1" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
|
||||
<None Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
<None Include="Web.Release.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Framework\Kreta.Framework.csproj">
|
||||
<Project>{320ef478-7155-441d-b1e9-47ec3e57fb45}</Project>
|
||||
<Name>Kreta.Framework</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Kreta.BusinessLogic\Kreta.BusinessLogic.csproj">
|
||||
<Project>{8876fe0d-841e-422d-a5a0-59239cd98482}</Project>
|
||||
<Name>Kreta.BusinessLogic</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Kreta.Client\Kreta.Client.csproj">
|
||||
<Project>{4B28E52B-B531-403C-A827-2CC178FF8A4F}</Project>
|
||||
<Name>Kreta.Client</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Kreta.Core\Kreta.Core.csproj">
|
||||
<Project>{57418D3E-CAF1-482C-9B18-85D147ABD495}</Project>
|
||||
<Name>Kreta.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Kreta.Enums\Kreta.Enums.csproj">
|
||||
<Project>{1D5E0AC2-DFAB-4D32-9AD1-B5788A7D06BD}</Project>
|
||||
<Name>Kreta.Enums</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Kreta.Job.Tasks.Core\Kreta.Job.Tasks.Core.csproj">
|
||||
<Project>{5DC12A8B-4730-400F-BBE3-0A9072D6B2EE}</Project>
|
||||
<Name>Kreta.Job.Tasks.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Kreta.Job.Tasks\Kreta.Job.Tasks.csproj">
|
||||
<Project>{3359C4C9-E530-4996-98C4-7C3AB513E163}</Project>
|
||||
<Name>Kreta.Job.Tasks</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Kreta.KretaServer\Kreta.KretaServer.csproj">
|
||||
<Project>{62eb8504-1c3a-4db1-ab86-f96b2341e201}</Project>
|
||||
<Name>Kreta.KretaServer</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Kreta.Ellenorzo.BL\Kreta.Ellenorzo.BL.csproj">
|
||||
<Project>{750e1e45-76df-4a28-b218-234c560d7c6c}</Project>
|
||||
<Name>Kreta.Ellenorzo.BL</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Kreta.Ellenorzo.Domain\Kreta.Ellenorzo.Domain.csproj">
|
||||
<Project>{920ddac6-e3e7-4928-a9b3-2d84daf6d5b4}</Project>
|
||||
<Name>Kreta.Ellenorzo.Domain</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Kreta.Ellenorzo.Dto\Kreta.Ellenorzo.Dto.csproj">
|
||||
<Project>{757db990-1ad3-4b0a-82fb-353dd961042f}</Project>
|
||||
<Name>Kreta.Ellenorzo.Dto</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Kreta.Ellenorzo.Enum\Kreta.Ellenorzo.Enums.csproj">
|
||||
<Project>{e8717728-75ca-4f4a-b23d-53c593ff0840}</Project>
|
||||
<Name>Kreta.Ellenorzo.Enums</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>True</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>38017</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>https://biatorbagyi.ekreta.hu/ellenorzo</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>powershell -ExecutionPolicy Unrestricted $(ProjectDir)\Vn\Documentation\SwaggerPostBuildCheck.ps1 -target $(ProjectDir)\Vn\Documentation</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,5 @@
|
|||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyDescription("2019 eKRÉTA Informatikai Zrt. Szerző: Kovács Kornél (DevKornél)")]
|
||||
[assembly: CLSCompliant(false)]
|
55
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/Startup.cs
Normal file
55
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/Startup.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
using System.Configuration;
|
||||
using System.Web;
|
||||
using Hangfire;
|
||||
using IdentityServer3.AccessTokenValidation;
|
||||
using Kreta.BusinessLogic;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Ellenorzo.WebApi;
|
||||
using Kreta.Web.Logging.Logger;
|
||||
using Microsoft.Owin;
|
||||
using Owin;
|
||||
using SimpleInjector;
|
||||
using SimpleInjector.Integration.WebApi;
|
||||
using SimpleInjector.Lifestyles;
|
||||
using HangfireGlobalConfiguration = Hangfire.GlobalConfiguration;
|
||||
using HttpGlobalConfiguration = System.Web.Http.GlobalConfiguration;
|
||||
|
||||
[assembly: OwinStartup(typeof(Startup))]
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi
|
||||
{
|
||||
public static class Startup
|
||||
{
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
|
||||
public static void Configuration(IAppBuilder appBuilder)
|
||||
{
|
||||
HttpGlobalConfiguration.Configure(WebApiConfig.Register);
|
||||
|
||||
_ = log4net.Config.XmlConfigurator.Configure();
|
||||
|
||||
_ = HangfireGlobalConfiguration.Configuration.UseSqlServerStorage("HangfireConnectionString");
|
||||
|
||||
var container = new Container();
|
||||
|
||||
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
|
||||
|
||||
container.InjectMobileBusinessLogic();
|
||||
container.Register<IFeatureContext>(() => FeatureContext.Instance, Lifestyle.Singleton);
|
||||
container.Register(() => TraceLoggerFactory.Create(HttpContext.Current), Lifestyle.Scoped);
|
||||
container.RegisterWebApiControllers(HttpGlobalConfiguration.Configuration);
|
||||
container.Verify();
|
||||
|
||||
HttpGlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
|
||||
|
||||
_ = appBuilder
|
||||
.UseIdentityServerBearerTokenAuthentication(
|
||||
new IdentityServerBearerTokenAuthenticationOptions
|
||||
{
|
||||
ValidationMode = ValidationMode.Local,
|
||||
Authority = ConfigurationManager.AppSettings["idp:Authority"],
|
||||
RequiredScopes = ConfigurationManager.AppSettings["idp:RequiredScopes"].Split(';')
|
||||
})
|
||||
.UseWebApi(HttpGlobalConfiguration.Configuration);
|
||||
}
|
||||
}
|
||||
}
|
BIN
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/VN/.DS_Store
vendored
Normal file
BIN
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/VN/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/VN/Common/.DS_Store
vendored
Normal file
BIN
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/VN/Common/.DS_Store
vendored
Normal file
Binary file not shown.
|
@ -0,0 +1,59 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Logic
|
||||
{
|
||||
/// <summary>
|
||||
/// Author: Kovács Kornél (DevKornél) Created On: 2019.06.
|
||||
/// </summary>
|
||||
internal static class EnumLogic
|
||||
{
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
public static IEnumerable<(int Id, string Nev, string Leiras)> GetEnumWithDisplayNameAttribute(Type enumType)
|
||||
{
|
||||
foreach (object item in Enum.GetValues(enumType))
|
||||
{
|
||||
(int Id, string Nev, string Leiras) returnObject = ((int)item, item.ToString(), null);
|
||||
FieldInfo fieldInfo = item.GetType().GetField(returnObject.Nev);
|
||||
|
||||
if (fieldInfo != null)
|
||||
{
|
||||
DisplayAttribute attributes = (DisplayAttribute)fieldInfo.GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault();
|
||||
|
||||
if (attributes != null)
|
||||
{
|
||||
returnObject.Leiras = attributes.GetName();
|
||||
}
|
||||
}
|
||||
|
||||
yield return returnObject;
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetDisplayNameAttribute<T>(T enumValue)
|
||||
{
|
||||
string nev = enumValue.ToString();
|
||||
if (string.IsNullOrWhiteSpace(nev))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
FieldInfo fieldInfo = typeof(T).GetField(nev);
|
||||
|
||||
if (fieldInfo != null)
|
||||
{
|
||||
DisplayAttribute attributes = (DisplayAttribute)fieldInfo.GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault();
|
||||
|
||||
if (attributes != null)
|
||||
{
|
||||
return attributes.GetName();
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Security.Claims;
|
||||
using System.Web;
|
||||
using Kreta.Ellenorzo.Domain.VN.Common;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Logic
|
||||
{
|
||||
internal static class FelhasznaloLogic
|
||||
{
|
||||
public static MobileUser GetFelhasznalo()
|
||||
{
|
||||
return HttpContext.Current.Items.Contains("MobileUser")
|
||||
? (MobileUser)HttpContext.Current.Items["MobileUser"]
|
||||
: new MobileUser(GetInstituteCode(), GetStudentId(), GetUserName(), GetTutelaryId(), GetRoles(), GetSchoolYearId(), GetApiSecurity(), GetUserIdpUniqueId(), GetStudentIdpUniqueId(), GetInstituteUniqueId());
|
||||
}
|
||||
|
||||
private static string GetInstituteCode()
|
||||
{
|
||||
return GetClaims("kreta:institute_code").Single();
|
||||
}
|
||||
|
||||
private static Guid GetInstituteUniqueId()
|
||||
{
|
||||
return new Guid(GetClaims("kreta:institute_unique_id").Single());
|
||||
}
|
||||
|
||||
private static ApiSecurity GetApiSecurity()
|
||||
{
|
||||
if (bool.Parse(ConfigurationManager.AppSettings["IsApiSecurityEnabled"]))
|
||||
{
|
||||
var header = ((HttpRequestMessage)HttpContext.Current.Items["MS_HttpRequestMessage"]).Headers;
|
||||
return new ApiSecurity(header.Authorization.Parameter, header.First(x => x.Key == "s").Value.First());
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static int GetInstituteUserId()
|
||||
{
|
||||
var claim = GetClaims("kreta:institute_user_id").Single();
|
||||
return int.Parse(claim);
|
||||
}
|
||||
|
||||
private static int GetSchoolYearId()
|
||||
{
|
||||
var claim = GetClaims("kreta:school_year_id").Single();
|
||||
return int.Parse(claim);
|
||||
}
|
||||
|
||||
private static int? GetTutelaryId()
|
||||
=> HasRole(FelhasznaloSzerepkor.Gondviselo) ? GetInstituteUserId() : (int?)null;
|
||||
|
||||
private static int GetStudentId()
|
||||
=> HasRole(FelhasznaloSzerepkor.Gondviselo) ? int.Parse(GetClaims("kreta:student_id").Single()) : GetInstituteUserId();
|
||||
|
||||
private static Guid GetUserIdpUniqueId()
|
||||
{
|
||||
return new Guid(GetClaims("kreta:institute_user_idp_unique_id").Single());
|
||||
}
|
||||
|
||||
private static Guid GetStudentIdpUniqueId()
|
||||
=> HasRole(FelhasznaloSzerepkor.Gondviselo) ? new Guid(GetClaims("kreta:student_idp_unique_id").Single()) : GetUserIdpUniqueId();
|
||||
|
||||
private static string GetUserName()
|
||||
{
|
||||
return GetClaims("kreta:user_name").Single();
|
||||
}
|
||||
|
||||
private static IEnumerable<FelhasznaloSzerepkor> GetRoles()
|
||||
{
|
||||
var result = new List<FelhasznaloSzerepkor>();
|
||||
|
||||
var roles = GetClaims(ClaimTypes.Role);
|
||||
foreach (var role in roles)
|
||||
{
|
||||
if (Enum.TryParse(role, out FelhasznaloSzerepkor enumValue))
|
||||
{
|
||||
result.Add(enumValue);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static IEnumerable<string> GetClaims(string type)
|
||||
{
|
||||
return ClaimsPrincipal.Current.Claims.Where(x => x.Type == type).Select(x => x.Value);
|
||||
}
|
||||
|
||||
private static bool HasRole(FelhasznaloSzerepkor felhasznaloSzerepkor) => GetRoles().Count(x => x == felhasznaloSzerepkor) == 1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace Kreta.Ellenorzo.WebApi.VN
|
||||
{
|
||||
internal static class Constants
|
||||
{
|
||||
public const string RoutePrefix = "V3";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Bejelentes;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class BejelentesController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Covid fertőzöttség bejelentése
|
||||
/// </summary>
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[HttpPost, Route("Bejelentes/Covid")]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.CovidBejelentesResponseLeiras)]
|
||||
public void CovidBejelentes()
|
||||
{
|
||||
((BejelentesFacade)Activator.CreateInstance(typeof(BejelentesFacade), FelhasznaloLogic.GetFelhasznalo())).CovidBejelentes();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.BejelentettSzamonkeres;
|
||||
using Kreta.Ellenorzo.Domain.VN.BejelentettSzamonkeres;
|
||||
using Kreta.Ellenorzo.Dto.VN.BejelentettSzamonkeres;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<BejelentettSzamonkeresListRequest, BejelentettSzamonkeresListRequest>))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class BejelentettSzamonkeresController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Bejelentett számonkérések lekérdezése
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/BejelentettSzamonkeresek")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.BejelentettSzamonkeresek, typeof(BejelentettSzamonkeresListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<BejelentettSzamonkeresController, BejelentettSzamonkeresListResponseDto>))]
|
||||
public HashSet<BejelentettSzamonkeresListResponseDto> ListBejelentettSzamonkeres([FromUri] BejelentettSzamonkeresListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((BejelentettSzamonkeresFacade)Activator.CreateInstance(typeof(BejelentettSzamonkeresFacade), FelhasznaloLogic.GetFelhasznalo())).ListBejelentettSzamonkeres(request));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Bejelentett számonkérés lekérdezése uid alapján
|
||||
/// </summary>
|
||||
/// <param name="uid">Bejelentett számonkérés Uid filter</param>
|
||||
[HttpGet, Route("Sajat/BejelentettSzamonkeresek/{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.BejelentettSzamonkeresek, typeof(BejelentettSzamonkeresListResponseDto))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public BejelentettSzamonkeresListResponseDto GetBejelentettSzamonkeres(string uid)
|
||||
{
|
||||
return ((BejelentettSzamonkeresFacade)Activator.CreateInstance(typeof(BejelentettSzamonkeresFacade), FelhasznaloLogic.GetFelhasznalo())).GetBejelentettSzamonkeres(uid);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Ellenorzo.BL.VN.Ora;
|
||||
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
|
||||
namespace Kreta.Ellenorzo.Web.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix + "/Sajat")]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class CsatolmanyController : ApiController
|
||||
{
|
||||
private readonly IFileServiceHelper _fileServiceHelper;
|
||||
|
||||
public CsatolmanyController(IFileServiceHelper fileServiceHelper)
|
||||
{
|
||||
_fileServiceHelper = fileServiceHelper ?? throw new ArgumentNullException(nameof(fileServiceHelper));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Csatolmány lekérdezése
|
||||
/// </summary>
|
||||
/// <param name="uid">A csatolmány egyedi azonosítója (Id)</param>
|
||||
[HttpGet, Route("Csatolmany/{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public HttpResponseMessage GetCsatolmany(string uid)
|
||||
{
|
||||
return ((CsatolmanyFacade)Activator.CreateInstance(typeof(CsatolmanyFacade), FelhasznaloLogic.GetFelhasznalo(), _fileServiceHelper)).GetCsatolmany(new CsatolmanyUid(uid));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Dummy;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Kreta.Web.Logging.Abstractions;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
public class DummyEnumDocumentationController : ApiController
|
||||
{
|
||||
private readonly ITraceLogger _logger;
|
||||
public DummyEnumDocumentationController(ITraceLogger traceLogger)
|
||||
{
|
||||
_logger = traceLogger;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Nem hívható, technikai endpoint. Rendszerben megtalálható enum értékek lekérdezése.
|
||||
/// </summary>
|
||||
[HttpGet, Route("DummyEnum")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.DummyEnumResponseLeiras, typeof(Dictionary<string, string>)), SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyEnumExampleProvider))]
|
||||
#pragma warning disable S4049 // Properties should be preferred
|
||||
public Dictionary<string, string> GetDummyEnum() => new Dictionary<string, string>();
|
||||
#pragma warning restore S4049 // Properties should be preferred
|
||||
|
||||
/// <summary>
|
||||
/// Nem hívható, technikai endpoint. Még el nem készült BE fejlesztések tesztelésére.
|
||||
/// </summary>
|
||||
[HttpGet, Route("ListDummy")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListDummyResponseLeiras, typeof(List<object>))]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
public List<object> ListDummy()
|
||||
{
|
||||
return ((DummyFacade)Activator.CreateInstance(typeof(DummyFacade), FelhasznaloLogic.GetFelhasznalo())).ListDummy(_logger);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,129 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Ellenorzo.BL.VN.Ertekeles;
|
||||
using Kreta.Ellenorzo.BL.VN.Ertekeles.Atlag.OsztalyAtlag;
|
||||
using Kreta.Ellenorzo.BL.VN.Ertekeles.Atlag.TantargyiAtlag;
|
||||
using Kreta.Ellenorzo.Domain.VN.Ertekeles;
|
||||
using Kreta.Ellenorzo.Domain.VN.Ertekeles.Atlag.OsztalyAtlag;
|
||||
using Kreta.Ellenorzo.Domain.VN.UniqueIdentifier;
|
||||
using Kreta.Ellenorzo.Dto.VN.Ertekeles;
|
||||
using Kreta.Ellenorzo.Dto.VN.Ertekeles.Atlag.OsztalyAtlag;
|
||||
using Kreta.Ellenorzo.Dto.VN.Ertekeles.Atlag.TantargyiAtlag;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Enums.VN;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class ErtekelesController : ApiController
|
||||
{
|
||||
private IFeatureContext FeatureContext { get; }
|
||||
|
||||
public ErtekelesController(IFeatureContext featureContext)
|
||||
{
|
||||
FeatureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló egy értékelése
|
||||
/// </summary>
|
||||
/// <param name="uid">Uid filter</param>
|
||||
[HttpGet, Route("Sajat/Ertekelesek/{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ErtekelesResponseLeiras + DescriptionOneNote.Ertekelesek, typeof(ErtekelesListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyExampleProviderWithDependencyInjection<ErtekelesController, ErtekelesListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public ErtekelesListResponseDto GetErtekeles(string uid)
|
||||
{
|
||||
return ((ErtekelesFacade)Activator.CreateInstance(typeof(ErtekelesFacade), FelhasznaloLogic.GetFelhasznalo())).GetErtekeles(uid);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló értékelései
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Ertekelesek")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Ertekelesek, typeof(ErtekelesListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProviderWithDependencyInjection<ErtekelesController, ErtekelesListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<ErtekelesListRequest, ErtekelesListRequest>))]
|
||||
public HashSet<ErtekelesListResponseDto> ListErtekeles([FromUri] ErtekelesListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((ErtekelesFacade)Activator.CreateInstance(typeof(ErtekelesFacade), FelhasznaloLogic.GetFelhasznalo())).ListTanuloErtekeles(request));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló bizonyítvány értékelései
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Ertekelesek/Bizonyitvany")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Ertekelesek, typeof(ErtekelesListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProviderWithDependencyInjection<ErtekelesController, ErtekelesListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<ErtekelesListRequest, ErtekelesListRequest>))]
|
||||
public HashSet<ErtekelesListResponseDto> ListBizonyitvany([FromUri] ErtekelesListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((ErtekelesFacade)Activator.CreateInstance(typeof(ErtekelesFacade), FelhasznaloLogic.GetFelhasznalo())).ListTanuloErtekeles(request, ErtekelesekTipusEnum.BizonyitvanyErtekelesTipus));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló évközi + egyéb (modulzáró vizsga, pótvizsga...) értékelései
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Ertekelesek/NemBizonyitvany")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Ertekelesek, typeof(ErtekelesListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProviderWithDependencyInjection<ErtekelesController, ErtekelesListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<ErtekelesListRequest, ErtekelesListRequest>))]
|
||||
public HashSet<ErtekelesListResponseDto> ListNemBizonyitvanyok([FromUri] ErtekelesListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((ErtekelesFacade)Activator.CreateInstance(typeof(ErtekelesFacade), FelhasznaloLogic.GetFelhasznalo())).ListTanuloErtekeles(request, ErtekelesekTipusEnum.NemBizonyitvanyErtekelesTipus));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló összes tanult tantárgyának átlaga
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Ertekelesek/Atlagok/TantargyiAtlagok")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.TantargyiAtlagResponseLeiras + DescriptionOneNote.TantargyiAtlagok, typeof(SajatTantargyiAtlagListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProviderWithDependencyInjection<ErtekelesController, SajatTantargyiAtlagListResponseDto>))]
|
||||
public List<SajatTantargyiAtlagListResponseDto> ListAktualisTanuloTantargyiAtlag([FromUri] SajatTantargyiAtlagListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((TantargyiAtlagFacade)Activator.CreateInstance(typeof(TantargyiAtlagFacade), FelhasznaloLogic.GetFelhasznalo(), FeatureContext)).ListAktualisTanuloTantargyiAtlag(request));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló összes tanult tantárgyának átlaga és osztályátlaga
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Ertekelesek/Atlagok/OsztalyAtlagok")]
|
||||
[SwaggerResponse(HttpStatusCode.OK,
|
||||
DescriptionLookUp.OsztalyatlagResponseLeiras + DescriptionOneNote.OsztalyAtlagok, typeof(TanuloOsztalyCsoporthozViszonyitottTantargyiAtlagResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProviderWithDependencyInjection<ErtekelesController, SajatOsztalyAtlagListResponseDto>))]
|
||||
public HashSet<SajatOsztalyAtlagListResponseDto> ListOsztalyAtlag([FromUri] SajatOsztalyAtlagListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((OsztalyAtlagFacade)Activator.CreateInstance(typeof(OsztalyAtlagFacade), FelhasznaloLogic.GetFelhasznalo()))
|
||||
.ListAktualisTanuloOsztalyAtlag(new OsztalyAtlagListRequest(request.TantargyUid)
|
||||
{
|
||||
OktatasiNevelesiFeladatUid = new OktatasiNevelesiFeladatUid(request.OktatasiNevelesiFeladatUid),
|
||||
IsAtlagNeeded = true
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Faliujsag;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Faliujsag;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix + "/Sajat")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.FaliujsagResponseLeiras + DescriptionOneNote.Faliujsag, typeof(FaliujsagListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<FaliujsagController, FaliujsagListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class FaliujsagController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Tanuló számára megjelenő admin és tanár által rögzített faliújság elemek
|
||||
/// </summary>
|
||||
[HttpGet, Route("FaliujsagElemek")]
|
||||
public HashSet<FaliujsagListResponseDto> ListFaliujsag([FromUri] FaliujsagListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((FaliujsagFacade)Activator.CreateInstance(typeof(FaliujsagFacade), FelhasznaloLogic.GetFelhasznalo())).ListFaliujsag(request));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,161 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Felhasznalo;
|
||||
using Kreta.Ellenorzo.BL.VN.Felhasznalo.Alkalmazott.Tanar.Osztalyfonok;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Felhasznalo;
|
||||
using Kreta.Ellenorzo.Dto.VN.Felhasznalo.Alkalmazott.Tanar.OsztalyFonok;
|
||||
using Kreta.Ellenorzo.Dto.VN.Felhasznalo.Gondviselo;
|
||||
using Kreta.Ellenorzo.Dto.VN.Felhasznalo.Tanulo;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class FelhasznaloController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Tanulóval, gondviselőivel és intézményével kapcsolatos információk és elérhetőségek
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/TanuloAdatlap")]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras + DescriptionLookUp.TanuloTorolveLett, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyExampleProvider<FelhasznaloController, TanuloGetResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.TanuloAdataiResponseLeiras + DescriptionOneNote.Felhasznalo, typeof(TanuloGetResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public TanuloGetResponseDto GetTanuloAdatlap()
|
||||
{
|
||||
return ((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).GetTanuloAdatlap();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Osztályfőnökök lekérése
|
||||
/// </summary>
|
||||
[HttpGet, Route("Felhasznalok/Alkalmazottak/Tanarok/Osztalyfonokok")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Felhasznalo, typeof(OsztalyfonokListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<FelhasznaloController, OsztalyfonokListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public HashSet<OsztalyfonokListResponseDto> GetOsztalyfonokok([FromUri] OsztalyfonokListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((OsztalyfonokFacade)Activator.CreateInstance(typeof(OsztalyfonokFacade), FelhasznaloLogic.GetFelhasznalo())).ListOsztalyfonokForTanuloAndGondviselo(request));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Bankszámlaszám rögzítése a tanulóhoz.
|
||||
/// </summary>
|
||||
[HttpPost, Route("Sajat/Bankszamla")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.BankszamlaRogzitesSikeres)]
|
||||
[SwaggerRequestExample(typeof(BankszamlaRequestDto), typeof(BankszamlaRequestDto))]
|
||||
public void PostBankszamla(BankszamlaRequestDto request)
|
||||
{
|
||||
((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).SaveBankszamla(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló bankszámlaszámának törlése.
|
||||
/// </summary>
|
||||
[HttpDelete, Route("Sajat/Bankszamla")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.BankszamlaTorlesSikeres)]
|
||||
public void DeleteBankszamla()
|
||||
{
|
||||
((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).DeleteBankszamla();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Elérhetőség rögzítése tanulóhoz vagy gondviselőhöz.
|
||||
/// </summary>
|
||||
[HttpPost, Route("Sajat/Elerhetoseg")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.ElerhetosegRogzitesSikeres)]
|
||||
[SwaggerRequestExample(typeof(ElerhetosegRequestDto), typeof(ElerhetosegRequestDto))]
|
||||
public void PostElerhetoseg(ElerhetosegRequestDto request)
|
||||
{
|
||||
((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).SaveElerhetoseg(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A gondviselő "Törvényes képviselő" tulajdonságának lekérdezése.
|
||||
/// </summary>
|
||||
[HttpGet, Route("Gondviselo/IsTorvenyesKepviselo")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.IsTorvenyesKepviseloResponseLeiras + DescriptionOneNote.Felhasznalo)]
|
||||
//[SwaggerResponseExample(HttpStatusCode.OK, typeof(bool))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras + DescriptionLookUp.GonviseloTorolveLett, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public bool IsTorvenyesKepviselo()
|
||||
{
|
||||
return ((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).IsTorvenyesKepviselo();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gondviselő 4T adatainak lekérdezése
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/GondviseloAdatlap")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras + DescriptionLookUp.GonviseloTorolveLett, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyExampleProvider<FelhasznaloController, GondviseloAdatokResponseDto>))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.GondviseloAdataiResponseLeiras + DescriptionOneNote.Felhasznalo, typeof(GondviseloAdatokResponseDto))]
|
||||
public GondviseloAdatokResponseDto GetGondviseloAdatlap()
|
||||
{
|
||||
return ((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).GetGondviseloAdatlap();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gondviselő 4T adatainak módosítása
|
||||
/// </summary>
|
||||
[HttpPut, Route("Sajat/GondviseloAdatlap")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.GondviseloAdatokRogziteseSikeres)]
|
||||
[SwaggerRequestExample(typeof(GondviseloBaseAdatlapRequestDto), typeof(GondviseloBaseAdatlapRequestDto))]
|
||||
public void PutGondviseloAdatlap(GondviseloBaseAdatlapRequestDto request)
|
||||
{
|
||||
((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).UpdateGondviseloAdatlap(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gondviselő eszköz igényléshez szükséges adatainak elküldése
|
||||
/// </summary>
|
||||
[HttpPost, Route("Sajat/GondviseloEszkozIgenyles")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.GondviseloEszkozIgenylesAdatokRogziteseSikeres)]
|
||||
[SwaggerRequestExample(typeof(RegisztracioRequestDto), typeof(RegisztracioRequestDto))]
|
||||
public void PostGondviseloEszkozIgenyles(RegisztracioRequestDto request)
|
||||
{
|
||||
((TargyiEszkozFacade)Activator.CreateInstance(typeof(TargyiEszkozFacade), FelhasznaloLogic.GetFelhasznalo())).SaveGondviseloEszkozIgenyles(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Napi értesítés összefoglaló lekérdezése
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/NapiErtesitesOsszefoglalo")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.NapiErtesitesOsszefoglaloResponseLeiras + DescriptionOneNote.Felhasznalo, typeof(NapiErtesitesOsszefoglaloResponseDto))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public NapiErtesitesOsszefoglaloResponseDto GetNapiErtesitesOsszefoglalo()
|
||||
{
|
||||
return ((FelhasznaloFacade)Activator.CreateInstance(typeof(FelhasznaloFacade), FelhasznaloLogic.GetFelhasznalo())).GetNapiErtesitesOsszefoglalo();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Feljegyzes;
|
||||
using Kreta.Ellenorzo.Domain.VN.Feljegyzes;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Feljegyzes;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix + "/Sajat/Feljegyzesek")]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class FeljegyzesController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Tanuló tanítási órán tanár által generált feljegyzése
|
||||
/// </summary>
|
||||
/// <param name="uid">Feljegyzés Uid filter</param>
|
||||
[HttpGet, Route("{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.FeljegyzesResponseLeiras + DescriptionOneNote.Feljegyzesek, typeof(FeljegyzesListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyExampleProvider<FeljegyzesController, FeljegyzesListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public FeljegyzesListResponseDto GetFeljegyzes(string uid)
|
||||
{
|
||||
return ((FeljegyzesFacade)Activator.CreateInstance(typeof(FeljegyzesFacade), FelhasznaloLogic.GetFelhasznalo())).GetFeljegyzes(uid);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló tanítási órán tanár által generált feljegyzései
|
||||
/// </summary>
|
||||
[HttpGet, Route]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.FeljegyzesListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Feljegyzesek, typeof(FeljegyzesListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<FeljegyzesController, FeljegyzesListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<FeljegyzesListRequest, FeljegyzesListRequest>))]
|
||||
public HashSet<FeljegyzesListResponseDto> ListFeljegyzes([FromUri] FeljegyzesListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((FeljegyzesFacade)Activator.CreateInstance(typeof(FeljegyzesFacade), FelhasznaloLogic.GetFelhasznalo())).ListFeljegyzes(request));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Fogadoora;
|
||||
using Kreta.Ellenorzo.Domain.VN.Fogadoora;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Fogadoora;
|
||||
using Kreta.Ellenorzo.Dto.VN.Fogadoora.Idopont;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix + "/Sajat/Fogadoorak")]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
public class FogadooraController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Fogadóórák időpontjainak lekérdezése gondviselők számára
|
||||
/// </summary>
|
||||
[HttpGet, Route]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Fogadoorak, typeof(FogadooraListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<FogadooraController, FogadooraListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<FogadooraListRequest, FogadooraListRequest>))]
|
||||
public HashSet<FogadooraListResponseDto> ListFogadoorak([FromUri] FogadooraListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((FogadooraFacade)Activator.CreateInstance(typeof(FogadooraFacade), FelhasznaloLogic.GetFelhasznalo())).ListFogadoora(request));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Fogadóóra lekérdezése gondviselők számára
|
||||
/// </summary>
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[HttpGet, Route("{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(AMuveletNemVegezhetoElTobbszorExample))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public FogadooraResponseDto GetFogadoora(string uid)
|
||||
{
|
||||
return ((FogadooraFacade)Activator.CreateInstance(typeof(FogadooraFacade), FelhasznaloLogic.GetFelhasznalo())).GetFogadoora(uid);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Jelentkezett fogadóóra időpont lemondás
|
||||
/// </summary>
|
||||
/// <param name="uid">Fogadóóra időpont uid-ja</param>
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[HttpDelete, Route("Idopontok/Jelentkezesek/{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.FogadooraIdopontDeleteResponseLeiras)]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(AMuveletNemVegezhetoElTobbszorExample))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public void DeleteFogadooraIdopontJelentkezes(string uid)
|
||||
{
|
||||
((FogadooraFacade)Activator.CreateInstance(typeof(FogadooraFacade), FelhasznaloLogic.GetFelhasznalo())).DeleteFogadooraIdopontJelentkezes(new FogadooraIdopontJelentkezesDeleteRequestDto(uid));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gondviselő fogadóóra-időpont jelentkezés
|
||||
/// </summary>
|
||||
/// <param name="uid">Fogadóóra időpont uid-ja</param>
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[HttpPost, Route("Idopontok/Jelentkezesek/{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.FogadooraIdopontCreateResponseLeiras)]
|
||||
public void CreateFogadooraIdopontJelentkezes(string uid)
|
||||
{
|
||||
((FogadooraFacade)Activator.CreateInstance(typeof(FogadooraFacade), FelhasznaloLogic.GetFelhasznalo())).CreateFogadooraIdopontJelentkezes(new FogadooraIdopontJelentkezesCreateRequestDto(uid));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.HaziFeladat;
|
||||
using Kreta.Ellenorzo.Domain.VN.HaziFeladat;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.HaziFeladat;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix + "/Sajat")]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
#pragma warning disable S1200 // Classes should not be coupled to too many other classes (Single Responsibility Principle)
|
||||
public class HaziFeladatController : ApiController
|
||||
#pragma warning restore S1200 // Classes should not be coupled to too many other classes (Single Responsibility Principle)
|
||||
{
|
||||
/// <summary>
|
||||
/// Házi feladat entitás lekérdezése
|
||||
/// </summary>
|
||||
/// <param name="uid">Házi feladat Uid filter</param>
|
||||
[HttpGet, Route("HaziFeladatok/{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.HaziFeladatok, typeof(HaziFeladatDetailResponseDto))]
|
||||
//[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyExampleProvider<HaziFeladatController, HaziFeladatDataListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public HaziFeladatDetailResponseDto GetHaziFeladat(string uid)
|
||||
{
|
||||
return ((HaziFeladatFacade)Activator.CreateInstance(typeof(HaziFeladatFacade), FelhasznaloLogic.GetFelhasznalo())).GetHaziFeladat(uid);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Házi feladatok lekérdezése határidő alapján
|
||||
/// </summary>
|
||||
[HttpGet, Route("HaziFeladatok")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.HaziFeladatok, typeof(HaziFeladatListResponseDto))]
|
||||
//[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<HaziFeladatController, HaziFeladatListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<HaziFeladatListRequest, HaziFeladatListRequest>))]
|
||||
public HashSet<HaziFeladatListResponseDto> ListHaziFeladat([FromUri] HaziFeladatListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((HaziFeladatFacade)Activator.CreateInstance(typeof(HaziFeladatFacade), FelhasznaloLogic.GetFelhasznalo())).ListHaziFeladat(request));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Intezmeny.Hetirend;
|
||||
using Kreta.Ellenorzo.Domain.VN.Intezmeny.Hetirend;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Intezmeny.Hetirend;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class HetirendController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Órarendhez tartozó hetirendi elemek
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Intezmenyek/Hetirendek/Orarendi")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionLookUp.HetirendSzoveg + DescriptionOneNote.Hetirend,
|
||||
typeof(HetirendListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<HetirendController, HetirendListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<HetirendListRequest, HetirendListRequest>))]
|
||||
public HashSet<HetirendListResponseDto> ListHetirend([FromUri] HetirendListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((HetirendFacade)Activator.CreateInstance(typeof(HetirendFacade), FelhasznaloLogic.GetFelhasznalo())).ListHetirend(request));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Intezmeny;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Intezmeny;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class IntezmenyController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Saját intézmény adatai
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Intezmenyek")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.IntezmenyAdatai + DescriptionOneNote.Intezmeny, typeof(IntezmenyListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<IntezmenyController, IntezmenyListResponseDto>))]
|
||||
public IntezmenyListResponseDto GetIntezmeny()
|
||||
{
|
||||
return ((IntezmenyFacade)Activator.CreateInstance(typeof(IntezmenyFacade), FelhasznaloLogic.GetFelhasznalo())).GetIntezmeny();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Core.Configuratiaton.Interface;
|
||||
using Kreta.Ellenorzo.BL.VN.Lep;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Lep;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Kreta.Web.Logging.Abstractions;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix + "/Lep")]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class LepController : ApiController
|
||||
{
|
||||
private ILepConfiguration LepConfiguration { get; }
|
||||
private ITraceLogger Logger { get; }
|
||||
|
||||
public LepController(ILepConfiguration lepConfiguration, ITraceLogger logger)
|
||||
{
|
||||
LepConfiguration = lepConfiguration ?? throw new ArgumentNullException(nameof(lepConfiguration));
|
||||
Logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Lázár Ervin Program előadások lekérdezése
|
||||
/// </summary>
|
||||
[HttpGet, Route("Eloadasok")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras, typeof(List<EloadasResponseDto>))]
|
||||
public List<EloadasResponseDto> GetEloadasok()
|
||||
{
|
||||
return ModelToDto(((LepFacade)Activator.CreateInstance(typeof(LepFacade), FelhasznaloLogic.GetFelhasznalo(), LepConfiguration, Logger)).GetEloadasok());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Lázár Ervin Program előadás engedélyezése, elutasítása vagy függőbe tétele.
|
||||
/// </summary>
|
||||
[HttpPost, Route("Eloadasok/GondviseloEngedelyezes")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.GondviseloEngedelyezes)]
|
||||
[SwaggerRequestExample(typeof(GondviseloEngedelyezesRequestDto), typeof(GondviseloEngedelyezesRequestDto))]
|
||||
public void GondviseloEngedelyezes(GondviseloEngedelyezesRequestDto request)
|
||||
{
|
||||
((LepFacade)Activator.CreateInstance(typeof(LepFacade), FelhasznaloLogic.GetFelhasznalo())).GondviseloEngedelyezes(request);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Mulasztas;
|
||||
using Kreta.Ellenorzo.Domain.VN.Mulasztas;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Mulasztas;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class MulasztasController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Tanuló mulasztás entitás lekérdezése
|
||||
/// </summary>
|
||||
/// <param name="uid">Mulasztás Uid filter</param>
|
||||
[HttpGet, Route("Sajat/Mulasztasok/{uid}")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.MulasztasResponseLeiras + DescriptionOneNote.Mulasztasok, typeof(MulasztasListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyExampleProvider<MulasztasController, MulasztasListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public MulasztasListResponseDto GetMulasztas(string uid)
|
||||
{
|
||||
return ((MulasztasFacade)Activator.CreateInstance(typeof(MulasztasFacade), FelhasznaloLogic.GetFelhasznalo())).GetMulasztas(uid);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tanuló mulasztásai
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Mulasztasok")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Mulasztasok, typeof(MulasztasListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<MulasztasController, MulasztasListResponseDto>))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<MulasztasListRequest, MulasztasListRequest>))]
|
||||
public HashSet<MulasztasListResponseDto> ListMulasztas([FromUri] MulasztasListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((MulasztasFacade)Activator.CreateInstance(typeof(MulasztasFacade), FelhasznaloLogic.GetFelhasznalo())).ListMulasztas(request));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Orarend;
|
||||
using Kreta.Ellenorzo.Domain.VN.Orarend;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Orarend;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Kreta.Web.Logging.Abstractions;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.BadRequest, DescriptionLookUp.ValidaciosHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.BadRequest, typeof(ValidaciosHibaExample<OrarendElemListRequest, OrarendElemListRequest>))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class OrarendController : ApiController
|
||||
{
|
||||
private readonly ITraceLogger logger;
|
||||
|
||||
public OrarendController(ITraceLogger traceLogger)
|
||||
{
|
||||
logger = traceLogger;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Visszaadja a tanuló órarendi elemeit egy megadott időszakra (tanév rendje eseményeket is)
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/OrarendElemek")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Orarend, typeof(OrarendElemListResponseDto))]
|
||||
//[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<OrarendController, OrarendElemListResponseDto>))]
|
||||
public HashSet<OrarendElemListResponseDto> ListOrarend([FromUri] OrarendElemListRequestDto request)
|
||||
{
|
||||
return ModelToDto(((OrarendFacade)Activator.CreateInstance(typeof(OrarendFacade), FelhasznaloLogic.GetFelhasznalo())).ListOrarend(logger, request));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Órarend elem entitás lekérdezése
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/OrarendElem")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.ListaUidVagyUidsFilterResponseLeiras + DescriptionOneNote.Orarend, typeof(OrarendElemListResponseDto))]
|
||||
//[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<OrarendController, OrarendElemListResponseDto>))]
|
||||
public OrarendElemListResponseDto GetOrarendElem([FromUri] OrarendElemGetRequestDto request)
|
||||
{
|
||||
return ((OrarendFacade)Activator.CreateInstance(typeof(OrarendFacade), FelhasznaloLogic.GetFelhasznalo())).GetOrarendElem(logger, request);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.OsztalyCsoport;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.OsztalyCsoport;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class OsztalyCsoportController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Osztályok és csoportok, amikbe a tanuló valaha be volt sorolva az aktuális tanévben.
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/OsztalyCsoportok")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.OsztalyCsoportLeiras + DescriptionOneNote.OsztalyCsoportok, typeof(TanuloOsztalyCsoportListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<OsztalyCsoportController, TanuloOsztalyCsoportListResponseDto>))]
|
||||
public HashSet<TanuloOsztalyCsoportListResponseDto> ListTanuloOsztalyCsoport()
|
||||
{
|
||||
return ModelToDtoForTanulo(((OsztalyCsoportFacade)Activator.CreateInstance(typeof(OsztalyCsoportFacade), FelhasznaloLogic.GetFelhasznalo())).ListTanuloOsztalyCsoport());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Intezmeny.TanevRendje;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Intezmeny.TanevRendje;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
using static Kreta.Ellenorzo.Dto.VN.Converter.ResponseModelConverter;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class TanevRendjeController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Tanulóra vonatkozó tanév rendje elemek
|
||||
/// </summary>
|
||||
[HttpGet, Route("Sajat/Intezmenyek/TanevRendjeElemek")]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.TanevRendjeLeiras + DescriptionOneNote.Tanevrendje, typeof(TanevRendjeListResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.OK, typeof(DummyListExampleProvider<TanevRendjeController, TanevRendjeListResponseDto>))]
|
||||
public HashSet<TanevRendjeListResponseDto> ListTanevRendje()
|
||||
{
|
||||
return ModelToDto(((TanevRendjeFacade)Activator.CreateInstance(typeof(TanevRendjeFacade), FelhasznaloLogic.GetFelhasznalo())).ListTanevRendje());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using Kreta.Ellenorzo.BL.VN.Felhasznalo;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Kreta.Ellenorzo.Dto.VN.Felhasznalo.Gondviselo;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Web.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.FilterAttributes;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Logic;
|
||||
using Swashbuckle.Examples;
|
||||
using Swashbuckle.Swagger.Annotations;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Controllers
|
||||
{
|
||||
[ApiKeyAuthorization]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[RoutePrefix(Constants.RoutePrefix)]
|
||||
[SwaggerResponse(HttpStatusCode.InternalServerError, DescriptionLookUp.IsmeretlenHibaTortentResponseLeiras, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.InternalServerError, typeof(IsmeretlenHibaExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Unauthorized, DescriptionLookUp.JogosulatlanTokenLejartResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Unauthorized, typeof(LejartTokenExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Forbidden, DescriptionLookUp.HozzaferesMegtagadvaResponseLeiras, typeof(string))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Forbidden, typeof(PermissionDeniedExample))]
|
||||
[SwaggerResponse(HttpStatusCode.Conflict, DescriptionLookUp.TanevetValtottAzIntezmeny, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.Conflict, typeof(IntezmenyMarTanevetValtottExample))]
|
||||
public class TargyiEszkozController : ApiController
|
||||
{
|
||||
/// <summary>
|
||||
/// Gondviselő eszköz igényléshez szükséges adatainak elküldése
|
||||
/// </summary>
|
||||
[HttpPost, Route("TargyiEszkoz/Regisztracio")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.NoContent, DescriptionLookUp.GondviseloEszkozIgenylesAdatokRogziteseSikeres)]
|
||||
[SwaggerRequestExample(typeof(RegisztracioRequestDto), typeof(RegisztracioRequestDto))]
|
||||
public void PostGondviseloEszkozIgenyles(RegisztracioRequestDto request)
|
||||
{
|
||||
((TargyiEszkozFacade)Activator.CreateInstance(typeof(TargyiEszkozFacade), FelhasznaloLogic.GetFelhasznalo())).SaveGondviseloEszkozIgenyles(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gondviselő regisztrált-e már
|
||||
/// </summary>
|
||||
[HttpGet, Route("TargyiEszkoz/IsRegisztralt")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.IsRegisztraltResponseLeiras)]
|
||||
//[SwaggerResponseExample(HttpStatusCode.OK, typeof(bool))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras + DescriptionLookUp.GonviseloTorolveLett, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public bool? IsRegisztralt()
|
||||
{
|
||||
return ((TargyiEszkozFacade)Activator.CreateInstance(typeof(TargyiEszkozFacade), FelhasznaloLogic.GetFelhasznalo())).IsRegisztralt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A gondviselőhöz tartozó tanulónak van-e már kiosztott eszköze
|
||||
/// </summary>
|
||||
[HttpGet, Route("TargyiEszkoz/IsEszkozKiosztva")]
|
||||
[IdpAuthorize(FelhasznaloSzerepkor.Tanulo, FelhasznaloSzerepkor.Gondviselo)]
|
||||
[SwaggerResponse(HttpStatusCode.OK, DescriptionLookUp.IsEszkozKiosztvaResponseLeiras)]
|
||||
//[SwaggerResponseExample(HttpStatusCode.OK, typeof(bool))]
|
||||
[SwaggerResponse(HttpStatusCode.NotFound, DescriptionLookUp.NemLetezoEntitasResponseLeiras + DescriptionLookUp.GonviseloTorolveLett, typeof(EllenorzoExceptionResponseDto))]
|
||||
[SwaggerResponseExample(HttpStatusCode.NotFound, typeof(NemLetezoEntitasExample))]
|
||||
public bool IsEszkozKiosztva()
|
||||
{
|
||||
return ((TargyiEszkozFacade)Activator.CreateInstance(typeof(TargyiEszkozFacade), FelhasznaloLogic.GetFelhasznalo())).IsEszkozKiosztva();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
using Kreta.Core;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
public class AMuveletNemVegezhetoElTobbszorExample : EllenorzoExceptionResponseDto, IExamplesProvider
|
||||
{
|
||||
public AMuveletNemVegezhetoElTobbszorExample() : base(BlExceptionType.AMuveletNemVegezhetoElTobbszor, BlExceptionType.AMuveletNemVegezhetoElTobbszor.ToDisplayName())
|
||||
{
|
||||
}
|
||||
|
||||
public object GetExamples() => new AMuveletNemVegezhetoElTobbszorExample();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
internal static class DescriptionLookUp
|
||||
{
|
||||
public const string ListaUidVagyUidsFilterResponseLeiras = "Filter által elvárt, de nem létező resource esetén kizárólag a létező elemek szerepelnek a response-ban";
|
||||
|
||||
public const string TanevRendjeLeiras = "Admin által meghatározott tanulóra vonatkozó tanév rendje elemek (csak saját osztályokra vonatkozó elemek tartoznak bele).<br>";
|
||||
|
||||
public const string AktualisOsztalyCsoportLeiras = "Osztályok és csoportok, amibe a tanuló aktuálisan be van sorolva.";
|
||||
|
||||
public const string BankszamlaRogzitesSikeres = "A bankszámla rögzítése sikeresen megtörtént!";
|
||||
|
||||
public const string BankszamlaTorlesSikeres = "A bankszámla törlése sikeresen megtörtént!";
|
||||
|
||||
public const string OsztalyCsoportLeiras = "Osztályok és csoportok, amikbe a tanuló valaha be volt sorolva az aktuális tanévben.";
|
||||
|
||||
public const string HetirendSzoveg = "<br> A megadott intervallumba beletartozó(fedik egymást) entitásokkal tér vissza.";
|
||||
|
||||
public const string TanuloTorolveLett = " Abban az esetben, ha él a token, de a tanuló már törölve lett.";
|
||||
|
||||
public const string GonviseloTorolveLett = " Abban az esetben, ha él a token, de a gonviselo már törölve lett.";
|
||||
|
||||
public const string IsmeretlenHibaTortentResponseLeiras = "Ismeretlen hiba történt!";
|
||||
|
||||
public const string NincsNevelesOkatatasSzures = "(Nincs nevelés oktatás szűrés)";
|
||||
|
||||
public const string ValidaciosHibaTortentResponseLeiras = "Validációs hiba történt!";
|
||||
|
||||
public const string JogosulatlanTokenLejartResponseLeiras = "A token lejárt!";
|
||||
|
||||
public const string HozzaferesMegtagadvaResponseLeiras = "Hozzáférés megtagadva!";
|
||||
|
||||
public const string NemLetezoEntitasResponseLeiras = "Nem létező entitás!";
|
||||
|
||||
public const string TantargyiAtlagResponseLeiras = "A tanuló oktatás-nevelési feladat és tantárgyuid szűrő által leszűrt összes tanult tantárgyának az átlaga szerepel a response-ban";
|
||||
|
||||
public const string OsztalyatlagResponseLeiras = "A tanuló összes, vagy a Uid szűrő által leszűrt tanult tantárgyának az osztályátlaghoz viszonyított átlaga szerepel a" +
|
||||
" response-ban, amennyiben engedélyezve van az osztályátlag megjelenítése az adott intézményben.";
|
||||
|
||||
public const string DummyEnumResponseLeiras = "A rendszerben megtalálható összes enum érték szerepel a response-ban<br>None elem csak BE számára kell, jelzi," +
|
||||
" ha az enum nem tudott értéket felvenni";
|
||||
|
||||
public const string ListDummyResponseLeiras = "Még el nem készült BE fejlesztések találhatóak a responseban";
|
||||
|
||||
public const string FaliujsagResponseLeiras = "A tanuló faliújság bejegyzései, amelyek érvényesek, szerepelnek a response-ban";
|
||||
|
||||
public const string TanuloAdataiResponseLeiras = "A tanuló adatai szerepelnek a response-ban";
|
||||
|
||||
public const string GondviseloAdataiResponseLeiras = "A gondviselő adatai szerepelnek a response-ban";
|
||||
|
||||
public const string IsTorvenyesKepviseloResponseLeiras = "A response tartalmazza, hogy a gondviselő a tanuló törvényes képviselője-e.";
|
||||
|
||||
public const string FeljegyzesResponseLeiras = "A tanuló feljegyzése szerepel a response-ban" + NaplozasGyorsFeljegyzes;
|
||||
|
||||
public const string FeljegyzesListaUidVagyUidsFilterResponseLeiras = "Filter által elvárt, de nem létező resource esetén kizárólag "
|
||||
+ "a létező elemek szerepelnek a response-ban" + NaplozasGyorsFeljegyzes;
|
||||
|
||||
public const string ErtekelesResponseLeiras = "A tanuló értékelése szerepel a response-ban";
|
||||
|
||||
public const string MulasztasResponseLeiras = "A tanuló mulasztása szerepel a response-ban";
|
||||
|
||||
public const string KommentCreateResponseLeiras = "Komment mentése sikeresen megtörtént";
|
||||
|
||||
public const string KommentDeleteResponseLeiras = "Komment törlése sikeresen megtörtént";
|
||||
|
||||
public const string FogadooraIdopontDeleteResponseLeiras = "Fogadóóra időpont lemondása sikeresen megtörtént.";
|
||||
|
||||
public const string FogadooraIdopontCreateResponseLeiras = "Fogadóóra időpontra jelentkezés sikeresen megtörtént.";
|
||||
|
||||
public const string NincsJogosultsaga = "Nincs jogosultsága";
|
||||
|
||||
public const string NaplozasGyorsFeljegyzes = "<br>+ Naplózáskor adható gyorsfeljegyzések. A külön adható" +
|
||||
" feljegyzések a tanulóhoz kapcsolódnak nem osztálycsoporthoz!";
|
||||
|
||||
public const string TanevetValtottAzIntezmeny = "Tanévet váltott az intézmény!";
|
||||
|
||||
public const string Rendszermodul = "Rendszermodulok";
|
||||
|
||||
public const string IntezmenyAdatai = "Saját intézmény adatai";
|
||||
|
||||
public const string Fogadoorak = "Fogadóórák";
|
||||
|
||||
public const string CsatolmanyResponseLeiras = "Uid filter és típus által elvárt csatolmány szerepel a response-ban.<br>";
|
||||
|
||||
public const string HaziFeladatMegoldottResponseLeiras = "Házi feladat megoldottságának beállítása sikeresen megtörtént";
|
||||
|
||||
public const string CovidBejelentesResponseLeiras = "Covid fertőzöttség bejelentése sikeresen megtörtént";
|
||||
|
||||
public const string ElerhetosegRogzitesSikeres = "Az elérhetőségek rögzítése sikeresen megtörtént!";
|
||||
|
||||
public const string GondviseloAdatokRogziteseSikeres = "A gondviselő adatainak rögzítése sikeresen megtörtént!";
|
||||
|
||||
public const string GondviseloEszkozIgenylesAdatokRogziteseSikeres = "A gondviselő adatainak rögzítése sikeresen megtörtént a tanuló eszközének igényléséhez!";
|
||||
|
||||
public const string LepEloadasResponseLeiras = "A Lázár Ervin Program által meghirdetett előadások szerepelnek a responseban.";
|
||||
|
||||
public const string GondviseloEngedelyezes = "Lázár Ervin Program időpontra az engedélyezés, elutasítás vagy függőbe tétel sikeresen megtörtént.";
|
||||
|
||||
public const string IsEszkozKiosztvaResponseLeiras = "A response tartalmazza, hogy van-e már eszköz kiosztva a gondviselőhöz tartozó tanulónak.";
|
||||
|
||||
public const string IsRegisztraltResponseLeiras = "True: aktuális gondviselő már regisztrált; False: másik gondviselő már regisztrált; Null: nem regisztrált még senki.";
|
||||
|
||||
public const string NapiErtesitesOsszefoglaloResponseLeiras = "A napi értesítés összefoglaló adatai szerepelnek a response-ban";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
internal static class DescriptionOneNote
|
||||
{
|
||||
private const string LinkStart = "onenote:///\\\\egyediz-pc\\Mobil\\Biz.%20Doksik.one#";
|
||||
|
||||
private const string DokumentacioSection = "section-id={D298BE59-DAEA-4B0E-8604-D5CAF175D463}&";
|
||||
|
||||
private const string ErtekelesekPage = "page-id={4382044B-228A-4FE4-8DEA-0CD9E76F238F}&";
|
||||
private const string TantargyiAtlagPage = "page-id={A2EE1C38-9066-4AA4-A414-5595C0255186}&";
|
||||
private const string OsztalyAtlagPage = "page-id={78B8FF95-FD22-4990-BE25-16E01A7CB1E9}&";
|
||||
private const string BejelentettSzamonkeresekPage = "page-id={36F2A8A1-7989-4C90-B76F-92EF9F53FBA2}&";
|
||||
private const string FaliujsagPage = "page-id={AFF0642A-5B7A-4AC3-A5FF-E7A21843F4CD}&";
|
||||
private const string FeljegyzesekPage = "page-id={3FFD4C76-B4F4-4630-857B-601C26350E2F}&";
|
||||
private const string FelhasznaloPage = "page-id={8AE3F857-3228-42D8-8D16-826B9A63304A}&";
|
||||
private const string FogadoorakPage = "page-id={2CD86E16-2398-4957-BD97-2C65BB013349}&";
|
||||
private const string HaziFeladatokPage = "page-id={F5A654B1-2698-47B9-B84C-5F56ABE0EBE9}&";
|
||||
private const string HetirendPage = "page-id={E87403FC-7AC1-4A5C-B8A7-4BE1AFA47CCB}&";
|
||||
private const string IntezmenyPage = "page-id={59A3FCE2-08BC-4B07-AA3E-2475C2323B40}&";
|
||||
private const string MulasztasokPage = "page-id={48D8E2BE-CCE8-4870-9FFA-8937F9525853}&";
|
||||
private const string OrarendPage = "page-id={64B0C490-1F41-4717-B438-F49F80D35B56}&";
|
||||
private const string OsztalyCsoportokPage = "page-id={B4443760-7940-4D6E-A144-05D8D3592D15}&";
|
||||
private const string TanevrendjePage = "page-id={8FE5080E-8B06-4698-A609-36C573E5EF3D}&";
|
||||
private const string OpenBoardPage = "page-id={EA1EE8FA-B566-4F3C-B4EE-534805D58093}&";
|
||||
private const string CsatolmanyPage = "page-id={5B9340E0-B9A9-4289-846D-98CED8A3C2EB}&";
|
||||
|
||||
public const string Ertekelesek = " [Értékelések](" + LinkStart + "Ertekelesek&" + DokumentacioSection + ErtekelesekPage + "end)";
|
||||
|
||||
public const string TantargyiAtlagok = " [Tantárgyi átlagok](" + LinkStart + "Ertekelesek/TantargyiAtlag&" + DokumentacioSection + TantargyiAtlagPage + "end)";
|
||||
|
||||
public const string OsztalyAtlagok = " [Osztályátlagok](" + LinkStart + "Ertekelesek/Osztalyatlag&" + DokumentacioSection + OsztalyAtlagPage + "end)";
|
||||
|
||||
public const string BejelentettSzamonkeresek = " [Bejelentett számonkérések](" + LinkStart + "Bejelentett%20szamonkeresek&" + DokumentacioSection + BejelentettSzamonkeresekPage + "end)";
|
||||
|
||||
public const string Faliujsag = " [Faliújság](" + LinkStart + "Faliujsag&" + DokumentacioSection + FaliujsagPage + "end)";
|
||||
|
||||
public const string Feljegyzesek = " [Feljegyzések](" + LinkStart + "Feljegyzesek&" + DokumentacioSection + FeljegyzesekPage + "end)";
|
||||
|
||||
public const string Felhasznalo = " [Felhasználó](" + LinkStart + "Felhasznalo&" + DokumentacioSection + FelhasznaloPage + "end)";
|
||||
|
||||
public const string Fogadoorak = " [Fogadóórák](" + LinkStart + "Fogadoorak&" + DokumentacioSection + FogadoorakPage + "end)";
|
||||
|
||||
public const string HaziFeladatok = " [Házi feladatok](" + LinkStart + "Hazi%20feladatok&" + DokumentacioSection + HaziFeladatokPage + "end)";
|
||||
|
||||
public const string Hetirend = " [Hetirend](" + LinkStart + "Hetirend&" + DokumentacioSection + HetirendPage + "end)";
|
||||
|
||||
public const string Intezmeny = " [Intézmény](" + LinkStart + "Intezmeny&" + DokumentacioSection + IntezmenyPage + "end)";
|
||||
|
||||
public const string Mulasztasok = " [Mulasztások](" + LinkStart + "Mulasztasok&" + DokumentacioSection + MulasztasokPage + "end)";
|
||||
|
||||
public const string OpenBoard = " [OpenBoard](" + LinkStart + "Openboard&" + DokumentacioSection + OpenBoardPage + "end)";
|
||||
|
||||
public const string Csatolmany = " [Csatolmany](" + LinkStart + "Csatolmany&" + DokumentacioSection + CsatolmanyPage + "end)";
|
||||
|
||||
public const string Orarend = " [Órarend](" + LinkStart + "Orarend&" + DokumentacioSection + OrarendPage + "end)";
|
||||
|
||||
public const string OsztalyCsoportok = " [Osztályok, Csoportok](" + LinkStart + "Osztalyok,%20Csoportok&" + DokumentacioSection + OsztalyCsoportokPage + "end)";
|
||||
|
||||
public const string Tanevrendje = " [Tanév rendje](" + LinkStart + "Tanev%20rendje&" + DokumentacioSection + TanevrendjePage + "end)";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
using Kreta.Ellenorzo.Dto.VN;
|
||||
using Kreta.Ellenorzo.Dto.VN.Adatszotar;
|
||||
using Kreta.Ellenorzo.Dto.VN.Documentation;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
/// <summary>
|
||||
/// Author: Kovács Kornél (DevKornél), Madách Ferenc Created On: 2019.06.
|
||||
/// </summary>
|
||||
public class DummyEnumExampleProvider : IExamplesProvider
|
||||
{
|
||||
#pragma warning disable S3253 // Constructor and destructor declarations should not be redundant
|
||||
public DummyEnumExampleProvider()
|
||||
{
|
||||
}
|
||||
#pragma warning restore S3253 // Constructor and destructor declarations should not be redundant
|
||||
|
||||
public object GetExamples()
|
||||
{
|
||||
IEnumerable<MethodInfo> methodInfos = Assembly.GetExecutingAssembly().GetTypes()
|
||||
.Where(x => x.Namespace == Constant.WebApiDefaultNamespace)
|
||||
.SelectMany(y => y.GetMethods());
|
||||
|
||||
IEnumerable<string> returnTypeNames = methodInfos.Where(x => x.ReturnType.AssemblyQualifiedName != null && Regex.IsMatch(x.ReturnType.AssemblyQualifiedName, @"(Kreta.*)\=null"))
|
||||
.Select(x => Regex.Match(x.ReturnType.AssemblyQualifiedName, @"(Kreta.*)\=null").Value);
|
||||
|
||||
IEnumerable<string> requestParameterNames = methodInfos.Select(x => x.GetParameters())
|
||||
.SelectMany(x => x.Select(y => y.ParameterType.AssemblyQualifiedName)
|
||||
.Where(z => z != null && Regex.IsMatch(z, $@"\w+{Constant.ResponseSuffix}")));
|
||||
|
||||
var osztalyokNestedNelkul = returnTypeNames.Union(requestParameterNames).Select(x => Type.GetType(x)).ToList();
|
||||
|
||||
var osztalyok = new List<Type>();
|
||||
|
||||
foreach (Type item in osztalyokNestedNelkul)
|
||||
{
|
||||
GetNestedDtoTypes(osztalyok, item);
|
||||
}
|
||||
|
||||
return ConvertErtekByEnumToDictionary(osztalyokNestedNelkul.Union(osztalyok));
|
||||
}
|
||||
|
||||
private static Dictionary<string, string> ConvertErtekByEnumToDictionary(IEnumerable<Type> osztalyok)
|
||||
{
|
||||
var enumokEsErtekeik = new Dictionary<string, string>();
|
||||
|
||||
IEnumerable<(string TypeName, string TypeQualifiedName)> query =
|
||||
from osztaly in osztalyok.Distinct()
|
||||
from property in osztaly.GetProperties()
|
||||
where property.PropertyType.Name == typeof(AdatszotarResponseDto<>).Name
|
||||
let propertyGenericArgument = property.PropertyType.GenericTypeArguments[0]
|
||||
select (
|
||||
TypeName: propertyGenericArgument.FullName,
|
||||
TypeQualifiedName: propertyGenericArgument.AssemblyQualifiedName);
|
||||
|
||||
foreach ((string typeName, string typeQualifiedName) in query.ToList())
|
||||
{
|
||||
string[] typeNameStringArray = typeName.Split('.');
|
||||
if (!enumokEsErtekeik.ContainsKey(typeNameStringArray[typeNameStringArray.Length - 1]))
|
||||
{
|
||||
var enumErtekek = Type.GetType(typeQualifiedName).GetEnumValues().OfType<Enum>().ToList();
|
||||
var enumErtekekIndexekkel = new List<(int, Enum)>();
|
||||
|
||||
foreach (var ertek in enumErtekek)
|
||||
{
|
||||
enumErtekekIndexekkel.Add((Convert.ToInt32(ertek), ertek));
|
||||
}
|
||||
|
||||
enumokEsErtekeik.Add(typeNameStringArray[typeNameStringArray.Length - 1], string.Join(",", enumErtekekIndexekkel));
|
||||
}
|
||||
}
|
||||
|
||||
return enumokEsErtekeik;
|
||||
}
|
||||
|
||||
private void GetNestedDtoTypes(List<Type> osztalyok, Type type)
|
||||
{
|
||||
foreach (PropertyInfo property in type.GetProperties().Where(property => property.PropertyType.FullName.Contains(Constant.ResponseSuffix)
|
||||
&& !property.PropertyType.FullName.Contains(typeof(DocumentationExampleDto).Name)).Select(property => property))
|
||||
{
|
||||
osztalyok.Add(GetNestedType(property));
|
||||
GetNestedDtoTypes(osztalyok, GetNestedType(property));
|
||||
}
|
||||
}
|
||||
|
||||
private static Type GetNestedType(PropertyInfo property) => property.PropertyType.FullName.Contains(typeof(AdatszotarResponseDto<>).Name)
|
||||
? Type.GetType(Regex.Match(property.PropertyType.FullName, @"\[(Kreta.*)\=null").Value.Remove(0, 1))
|
||||
: Type.GetType(property.PropertyType.AssemblyQualifiedName);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Ellenorzo.Dto.VN.Interfaces;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation.Helper;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
/// <summary>
|
||||
/// Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
/// </summary>
|
||||
internal class DummyExampleProvider<TController, TDto> : IExamplesProvider where TController : new() where TDto : IDtoDocumentation, new()
|
||||
{
|
||||
public object GetExamples()
|
||||
{
|
||||
object response = ExampleHelper.TryGetExampleFeatureDefaultExampleModel();
|
||||
if (response != null)
|
||||
{
|
||||
return response;
|
||||
}
|
||||
|
||||
TDto dto = new TDto();
|
||||
object[] parameterArray = dto.Example.RequestParameter == null
|
||||
? new object[] { }
|
||||
: new[] { dto.Example.RequestParameter };
|
||||
|
||||
ExampleHelper.MockUser(dto.Example.MockUserName);
|
||||
|
||||
return new
|
||||
{
|
||||
RequestExample = dto.Example.RequestParameter,
|
||||
RequestExampleUser = dto.Example.MockUserName,
|
||||
ResponseExample = typeof(TController).GetMethod(dto.Example.MethodName).Invoke(new TController(), parameterArray)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
internal class DummyExampleProviderWithDependencyInjection<TController, TDto> : IExamplesProvider where TDto : IDtoDocumentation, new()
|
||||
{
|
||||
public object GetExamples()
|
||||
{
|
||||
object response = ExampleHelper.TryGetExampleFeatureDefaultExampleModel();
|
||||
if (response != null)
|
||||
{
|
||||
return response;
|
||||
}
|
||||
|
||||
TDto dto = new TDto();
|
||||
object[] parameterArray = dto.Example.RequestParameter == null
|
||||
? new object[] { }
|
||||
: new[] { dto.Example.RequestParameter };
|
||||
|
||||
ExampleHelper.MockUser(dto.Example.MockUserName);
|
||||
|
||||
return new
|
||||
{
|
||||
RequestExample = dto.Example.RequestParameter,
|
||||
RequestExampleUser = dto.Example.MockUserName,
|
||||
ResponseExample = typeof(TController).GetMethod(dto.Example.MethodName).Invoke((TController)Activator.CreateInstance(typeof(TController), FeatureContext.Instance), parameterArray)
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
using Kreta.Core.FeatureToggle;
|
||||
using Kreta.Ellenorzo.Dto.VN.Interfaces;
|
||||
using Kreta.Ellenorzo.WebApi.VN.Documentation.Helper;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
/// <summary>
|
||||
/// Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
/// </summary>
|
||||
internal class DummyListExampleProvider<TController, TDto> : IExamplesProvider where TController : new() where TDto : IDtoListDocumentation, new()
|
||||
{
|
||||
public object GetExamples()
|
||||
{
|
||||
object response = ExampleHelper.TryGetExampleFeatureDefaultExampleModel();
|
||||
if (response != null)
|
||||
{
|
||||
return response;
|
||||
}
|
||||
|
||||
TDto dto = new TDto();
|
||||
object[] parameterArray = dto.ListExample.RequestParameter == null
|
||||
? new object[] { }
|
||||
: new[] { dto.ListExample.RequestParameter };
|
||||
|
||||
ExampleHelper.MockUser(dto.ListExample.MockUserName);
|
||||
|
||||
return new
|
||||
{
|
||||
RequestExample = dto.ListExample.RequestParameter,
|
||||
RequestExampleUser = dto.ListExample.MockUserName,
|
||||
ResponseExample = typeof(TController).GetMethod(dto.ListExample.MethodName).Invoke(new TController(), parameterArray)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
internal class DummyListExampleProviderWithDependencyInjection<TController, TDto> : IExamplesProvider where TDto : IDtoListDocumentation, new()
|
||||
{
|
||||
public object GetExamples()
|
||||
{
|
||||
object response = ExampleHelper.TryGetExampleFeatureDefaultExampleModel();
|
||||
if (response != null)
|
||||
{
|
||||
return response;
|
||||
}
|
||||
|
||||
TDto dto = new TDto();
|
||||
object[] parameterArray = dto.ListExample.RequestParameter == null
|
||||
? new object[] { }
|
||||
: new[] { dto.ListExample.RequestParameter };
|
||||
|
||||
ExampleHelper.MockUser(dto.ListExample.MockUserName);
|
||||
|
||||
return new
|
||||
{
|
||||
RequestExample = dto.ListExample.RequestParameter,
|
||||
RequestExampleUser = dto.ListExample.MockUserName,
|
||||
ResponseExample = typeof(TController).GetMethod(dto.ListExample.MethodName).Invoke((TController)Activator.CreateInstance(typeof(TController), FeatureContext.Instance), parameterArray)
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Web;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Ellenorzo.Domain.VN.Common;
|
||||
using Kreta.Ellenorzo.Enums;
|
||||
using Kreta.Ellenorzo.Enums.VN;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation.Helper
|
||||
{
|
||||
/// <summary>
|
||||
/// Author: Kovács Kornél (DevKornél) Created On: 2019.05.
|
||||
/// Dokumentáció generálásához szükséges segédfüggvények
|
||||
/// </summary>
|
||||
internal static class ExampleHelper
|
||||
{
|
||||
private static readonly bool s_isExampleValuesEnabled = bool.Parse(ConfigurationManager.AppSettings["IsExampleValuesEnabled"]);
|
||||
|
||||
public static void MockUser(MockUserName mockUserName)
|
||||
{
|
||||
const string MockUserIntemenyAzonosito = "biatorbagyi";
|
||||
const int MockUserTanevId = 5963;
|
||||
const string MockMobileUserHttpContextKey = "MobileUser";
|
||||
|
||||
if (HttpContext.Current.Items.Contains(MockMobileUserHttpContextKey))
|
||||
{
|
||||
HttpContext.Current.Items.Remove(MockMobileUserHttpContextKey);
|
||||
}
|
||||
var mockMobileTanuloIdpUniqueId = new Guid("528f7fe8-f802-4b99-83f9-79afe6d863be");
|
||||
var mockInstituteUniqueId = new Guid("A88CF92A-8C24-4592-90C8-FB095B26EBDB");
|
||||
switch (mockUserName)
|
||||
{
|
||||
case MockUserName.Antali:
|
||||
const int User1MockUserTanuloId = 629653;
|
||||
const string User1MockUserTanuloName = "antali";
|
||||
HttpContext.Current.Items.Add(MockMobileUserHttpContextKey, new MobileUser(MockUserIntemenyAzonosito, User1MockUserTanuloId, User1MockUserTanuloName, null, new List<FelhasznaloSzerepkor>
|
||||
{
|
||||
FelhasznaloSzerepkor.Tanulo
|
||||
}, MockUserTanevId, null, mockMobileTanuloIdpUniqueId, mockMobileTanuloIdpUniqueId, mockInstituteUniqueId));
|
||||
break;
|
||||
case MockUserName.Gondviselo:
|
||||
const int User2MockUserId = 298269;
|
||||
const int User2MockUserTanuloId = 629653;
|
||||
const string User2MockUserTanuloName = "antali";
|
||||
var mockMobileGondviseloIdpUniqueId = new Guid("bf4adfb1-a2ec-4e5c-9aad-893304ba6cb1");
|
||||
HttpContext.Current.Items.Add(MockMobileUserHttpContextKey, new MobileUser(MockUserIntemenyAzonosito, User2MockUserTanuloId, User2MockUserTanuloName, User2MockUserId, new List<FelhasznaloSzerepkor>
|
||||
{
|
||||
FelhasznaloSzerepkor.Gondviselo
|
||||
}, MockUserTanevId, null, mockMobileGondviseloIdpUniqueId, mockMobileTanuloIdpUniqueId, mockInstituteUniqueId));
|
||||
break;
|
||||
case MockUserName.None:
|
||||
default:
|
||||
throw new BlException(BlExceptionType.ElvartErtekNemTalalhato);
|
||||
}
|
||||
}
|
||||
|
||||
public static object TryGetExampleFeatureDefaultExampleModel()
|
||||
=> s_isExampleValuesEnabled ? null : new Dictionary<object, object>
|
||||
{
|
||||
{
|
||||
"Figyelmeztetés",
|
||||
"A példák nincsenek engedélyezve."
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
using Kreta.Core;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
public class IntezmenyMarTanevetValtottExample : EllenorzoExceptionResponseDto, IExamplesProvider
|
||||
{
|
||||
public IntezmenyMarTanevetValtottExample() : base(BlExceptionType.IntezmenyMarTanevetValtott, BlExceptionType.IntezmenyMarTanevetValtott.ToDisplayName())
|
||||
{
|
||||
}
|
||||
|
||||
public object GetExamples() => new IntezmenyMarTanevetValtottExample();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
using Kreta.Core;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
public class IsmeretlenHibaExample : EllenorzoExceptionResponseDto, IExamplesProvider
|
||||
{
|
||||
public IsmeretlenHibaExample() : base(BlExceptionType.None, BlExceptionType.None.ToDisplayName())
|
||||
{
|
||||
}
|
||||
|
||||
public object GetExamples() => new IsmeretlenHibaExample();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
using Kreta.Core;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
public class JogosulatlanExample : EllenorzoExceptionResponseDto, IExamplesProvider
|
||||
{
|
||||
public JogosulatlanExample() : base(BlExceptionType.NincsJogosultsag, BlExceptionType.NincsJogosultsag.ToDisplayName())
|
||||
{
|
||||
}
|
||||
|
||||
public object GetExamples() => new JogosulatlanExample();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
public class LejartTokenExample : IExamplesProvider
|
||||
{
|
||||
#pragma warning disable S3253 // Constructor and destructor declarations should not be redundant
|
||||
public LejartTokenExample()
|
||||
{
|
||||
}
|
||||
|
||||
#pragma warning restore S3253 // Constructor and destructor declarations should not be redundant
|
||||
public object GetExamples() => "invalid_grant";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
using Kreta.Core;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
public class NemLetezoEntitasExample : EllenorzoExceptionResponseDto, IExamplesProvider
|
||||
{
|
||||
public NemLetezoEntitasExample() : base(BlExceptionType.NemLetezoEntitas, BlExceptionType.NemLetezoEntitas.ToDisplayName())
|
||||
{
|
||||
}
|
||||
|
||||
public object GetExamples() => new NemLetezoEntitasExample();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
public class PermissionDeniedExample : IExamplesProvider
|
||||
{
|
||||
#pragma warning disable S3253 // Constructor and destructor declarations should not be redundant
|
||||
public PermissionDeniedExample()
|
||||
{
|
||||
}
|
||||
|
||||
#pragma warning restore S3253 // Constructor and destructor declarations should not be redundant
|
||||
public object GetExamples() => "permission_denied";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
param ([string]$target)
|
||||
|
||||
$allowedUserList= (
|
||||
'RCINET\madachf',
|
||||
'RCINET\ersekz',
|
||||
'RCINET\jakaba',
|
||||
'RCINET\retinagyt',
|
||||
'RCINET\egyediz')
|
||||
$user = Get-WmiObject Win32_ComputerSystem | select username
|
||||
|
||||
$isRunEnabled = $TRUE
|
||||
$isAlwaysRunEnabled = $FALSE
|
||||
|
||||
if($isAlwaysRunEnabled -OR ($isRunEnabled -AND ($allowedUserList -Contains $user.username)))
|
||||
{
|
||||
Add-Type -AssemblyName "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
|
||||
$webResposne = Invoke-WebRequest -Uri "https://biatorbagyi.ekreta.hu/ellenorzo/swagger/docs/V3"
|
||||
|
||||
if($webResposne.StatusCode -eq 200)
|
||||
{
|
||||
Out-File -FilePath $target\swagger.json -InputObject $webResposne.Content -Force
|
||||
Write-Host "$target\swagger.json VN kész."
|
||||
}
|
||||
else
|
||||
{
|
||||
$top = new-Object System.Windows.Forms.Form -property @{Topmost=$true}
|
||||
[System.Windows.Forms.MessageBox]::Show($top,"Hibás VN Swagger!",'Error',1,'Error')
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Domain;
|
||||
using Kreta.Core.Enum;
|
||||
using Kreta.Ellenorzo.Domain.VN.Interfaces;
|
||||
using Kreta.Ellenorzo.Dto.VN.Exception;
|
||||
using Swashbuckle.Examples;
|
||||
|
||||
namespace Kreta.Ellenorzo.WebApi.VN.Documentation
|
||||
{
|
||||
/// <summary>
|
||||
/// Author: DevKornél Created On: 2019.05.
|
||||
/// </summary>
|
||||
public class ValidaciosHibaExample<TModel, TSameModel> : EllenorzoExceptionResponseDto, IExamplesProvider where TModel : class, IModelValidacio<TSameModel>, new() where TSameModel : class
|
||||
{
|
||||
public ValidaciosHibaExample() : base(BlExceptionType.ModelValidacio, BlExceptionType.ModelValidacio.ToDisplayName())
|
||||
{
|
||||
}
|
||||
|
||||
public ValidaciosHibaExample(IEnumerable<DetailedErrorItem> errorList)
|
||||
: base(BlExceptionType.ModelValidacio, BlExceptionType.ModelValidacio.ToDisplayName(), errorList.ToList())
|
||||
{
|
||||
}
|
||||
|
||||
public object GetExamples()
|
||||
{
|
||||
List<DetailedErrorItem> example = new List<DetailedErrorItem>();
|
||||
int index = 0;
|
||||
|
||||
new List<string>(new TModel().ModelValidaciok.Values).ForEach(x => example.Add(new DetailedErrorItem($"custom_{++index}", x, BlExceptionType.ModelValidacio)));
|
||||
|
||||
return new ValidaciosHibaExample<TModel, TSameModel>(example);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an attribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<compilation xdt:Transform="RemoveAttributes(debug)" />
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
240
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/Web.config
Normal file
240
Kreta.WebApi/Ellenorzo/Kreta.Ellenorzo.WebApi/Web.config
Normal file
|
@ -0,0 +1,240 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="ApiKeyConfiguration" type="Kreta.Core.Configuratiaton.ApiKeyConfiguration, Kreta.Core" />
|
||||
<section name="RequestResponseLogging" type="Kreta.Web.Logging.Configuration.RequestResponseLoggingConfigurationSection, Kreta.Web.Logging" />
|
||||
<section name="SerilogRequestResponseLogger" type="Kreta.Web.Logging.Configuration.Serilog.SerilogConfigurationSection, Kreta.Web.Logging" />
|
||||
<section name="SerilogTraceLogger" type="Kreta.Web.Logging.Configuration.Serilog.SerilogConfigurationSection, Kreta.Web.Logging" />
|
||||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
|
||||
<section name="ServerConfig" type="Kreta.BusinessLogic.Classes.ConfigsectionHandler" />
|
||||
</configSections>
|
||||
<ServerConfig>
|
||||
<config>
|
||||
<server>
|
||||
<name>KRETA_MOBIL_LOCAL</name>
|
||||
<systemtype>Teszt</systemtype>
|
||||
<port>18099</port>
|
||||
<loglevel>DEBUG</loglevel>
|
||||
<sessiontimeout>46</sessiontimeout>
|
||||
<!-- A felhasználok inaktivitással töltött max ideje mindig 1 percel kevesebb mint a session idő, (ha 1 akkor 30 másodperc lesz) -->
|
||||
<!-- Az egy kérésben felhozható rekordok maximális száma. -->
|
||||
<maxrecordsperrequest>30000</maxrecordsperrequest>
|
||||
<dbconnection>Data Source=kretadevsql01\inst02;User ID=_SQL_mobil_app;Password=7qRpZsB@Ylgi;Initial Catalog=KRETA_MOBIL_LOCAL</dbconnection>
|
||||
<globalapidbconnection>Data Source={0};User ID=kreta;Password=Porcica1.;Initial Catalog={1};MultiSubnetFailover=true;Connection Timeout=100;</globalapidbconnection>
|
||||
<lcid>1038</lcid>
|
||||
</server>
|
||||
</config>
|
||||
</ServerConfig>
|
||||
<ApiKeyConfiguration ApiKey="54efe33e-540c-43af-8d6a-5192b1a52062" Enabled="false" />
|
||||
<RequestResponseLogging EnableLogging="false">
|
||||
<TraceLogging EnableLogging="false" LogOnlyOnError="false" LoggingModes="internal, external" LogLevels="info, warning, error" ExternalLoggerType="Serilog" InternalLogMaximumLength="512" />
|
||||
<!-- Define handlers here. Handlers are fallback type handlers (if first handler could not log the request second will be applied then third etc.) -->
|
||||
<Handlers>
|
||||
<Handler RequestMediaTypes="multipart/form-data" LogLevels="info" RequestHeaderTrimLength="2048" RequestBodyTrimLength="0" ResponseHeaderTrimLength="2048" ResponseBodyTrimLength="4096" />
|
||||
<Handler RequestMediaTypes="multipart/form-data" LogLevels="error" RequestHeaderTrimLength="4096" RequestBodyTrimLength="0" ResponseHeaderTrimLength="4096" ResponseBodyTrimLength="32768" />
|
||||
<Handler ResponseMediaTypes="text/html" LogLevels="info" RequestHeaderTrimLength="2048" RequestBodyTrimLength="2048" ResponseHeaderTrimLength="2048" ResponseBodyTrimLength="0" />
|
||||
<Handler ResponseMediaTypes="application/json, application/xml, text/plain, empty" LogLevels="info" RequestHeaderTrimLength="2048" RequestBodyTrimLength="2048" ResponseHeaderTrimLength="2048" ResponseBodyTrimLength="4096" />
|
||||
<Handler ResponseMediaTypes="text/html, application/json, application/xml, text/plain, empty" LogLevels="error" RequestHeaderTrimLength="4096" RequestBodyTrimLength="32768" ResponseHeaderTrimLength="4096" ResponseBodyTrimLength="32768" />
|
||||
</Handlers>
|
||||
</RequestResponseLogging>
|
||||
<SerilogRequestResponseLogger LossyBufferSize="10000">
|
||||
<ElasticSearch UseCustomBackOffLogic="true" NodeUris="http://elasticsearch.ekreta-dev.hu:9200/" IndexFormat="kreta_ellenorzo_requestresponselog_serilog-{0:yyyy.MM.dd}" MinimumLogEventLevel="Information" ConnectionTimeoutInSeconds="30" WaitBetweenForCheckingEventBatchesInSeconds="1" BatchPostingLimit="100" AutoRegisterTemplateVersion="ESv7" />
|
||||
</SerilogRequestResponseLogger>
|
||||
<SerilogTraceLogger LossyBufferSize="30000">
|
||||
<!--Index, Field, Off -->
|
||||
<ElasticSearch UseCustomBackOffLogic="true" NodeUris="http://elasticsearch.ekreta-dev.hu:9200/" IndexFormat="kreta_ellenorzo_tracelog-{0:yyyy.MM.dd}" MinimumLogEventLevel="Information" ConnectionTimeoutInSeconds="30" WaitBetweenForCheckingEventBatchesInSeconds="1" BatchPostingLimit="50" AutoRegisterTemplateVersion="ESv7" />
|
||||
</SerilogTraceLogger>
|
||||
<log4net>
|
||||
<logger name="RequestResponseLogger">
|
||||
<level value="ALL" />
|
||||
<appender-ref ref="AsyncBufferingForwarder" />
|
||||
</logger>
|
||||
<appender name="AsyncBufferingForwarder" type="Easy.Logger.AsyncBufferingForwardingAppender, Easy.Logger">
|
||||
<bufferSize value="2048" />
|
||||
<lossy value="true" />
|
||||
<Fix value="508" />
|
||||
<evaluator type="log4net.Core.LevelEvaluator">
|
||||
<threshold value="ALL" />
|
||||
</evaluator>
|
||||
<appender-ref ref="FileAppender" />
|
||||
</appender>
|
||||
<appender name="ElasticSearchAppender" type="log4net.ElasticSearch.ElasticSearchAppender, log4net.ElasticSearch">
|
||||
<connectionString value="Scheme=http;Server=elasticsearch.ekreta-dev.hu;Index=kreta_ellenorzo_requestresponselog;Port=9200;rolling=true" />
|
||||
<lossy value="false" />
|
||||
<Fix value="508" />
|
||||
<evaluator type="log4net.Core.LevelEvaluator">
|
||||
<threshold value="ALL" />
|
||||
</evaluator>
|
||||
<bufferSize value="1" />
|
||||
</appender>
|
||||
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
|
||||
<file value="App_Data\Log\requestresponse" />
|
||||
<datePattern value=".yyyy-MM-dd'.log'" />
|
||||
<appendToFile value="true" />
|
||||
<maximumFileSize value="2MB" />
|
||||
<maxSizeRollBackups value="10" />
|
||||
<rollingStyle value="Composite" />
|
||||
<countDirection value="1" />
|
||||
<staticLogFileName value="false" />
|
||||
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%date %utcdate %level %thread %logger %message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
</log4net>
|
||||
<appSettings>
|
||||
<add key="idp:Authority" value="http://idp.ekreta.hu" />
|
||||
<add key="idp:RequiredScopes" value="kreta-ellenorzo-webapi.public" />
|
||||
<add key="IsSwaggerUiEnabled" value="true" />
|
||||
<add key="IsExampleValuesEnabled" value="false" />
|
||||
<add key="IsApiSecurityEnabled" value="false" />
|
||||
</appSettings>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.8" />
|
||||
<httpRuntime targetFramework="4.6.1" />
|
||||
<pages>
|
||||
<namespaces>
|
||||
<remove namespace="Kendo.Mvc.UI" />
|
||||
<remove namespace="MvcSiteMapProvider.Web.Html" />
|
||||
<remove namespace="MvcSiteMapProvider.Web.Html.Models" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<modules>
|
||||
<remove name="UsageModule" />
|
||||
<remove name="LoggingModule" />
|
||||
<remove name="Session" />
|
||||
</modules>
|
||||
<handlers>
|
||||
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
|
||||
<remove name="OPTIONSVerbHandler" />
|
||||
<remove name="TRACEVerbHandler" />
|
||||
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Host.SystemWeb" publicKeyToken="31BF3856AD364E35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.6.0" newVersion="5.2.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.6.0" newVersion="5.2.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="SimpleInjector" publicKeyToken="984cb50dea722e99" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.4.0.0" newVersion="5.4.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.4.0.0" newVersion="5.4.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.20622.1351" newVersion="4.0.20622.1351" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Configuration" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Configuration.FileExtensions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Configuration.Binder" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.FileProviders.Physical" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.FileProviders.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Primitives" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.FileSystemGlobbing" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.DotNet.PlatformAbstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="CacheManager.Core" publicKeyToken="5b450b4fb65c4cdb" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -0,0 +1,88 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="CacheManager.Core" version="1.2.0" targetFramework="net48" />
|
||||
<package id="CacheManager.StackExchange.Redis" version="1.2.0" targetFramework="net48" />
|
||||
<package id="CacheManager.SystemRuntimeCaching" version="1.2.0" targetFramework="net48" />
|
||||
<package id="DevDefined.OAuth" version="0.2" targetFramework="net48" />
|
||||
<package id="Easy.Logger" version="3.2.0" targetFramework="net48" />
|
||||
<package id="Easy.Logger.Interfaces" version="1.1.0" targetFramework="net48" />
|
||||
<package id="Elasticsearch.Net" version="7.0.0" targetFramework="net48" />
|
||||
<package id="Hangfire.Core" version="1.7.27" targetFramework="net48" />
|
||||
<package id="Hangfire.SqlServer" version="1.7.27" targetFramework="net48" />
|
||||
<package id="IdentityModel" version="1.9.2" targetFramework="net48" />
|
||||
<package id="IdentityServer3.AccessTokenValidation" version="2.14.0" targetFramework="net48" />
|
||||
<package id="Kreta.Core.Configuration" version="1.3.20119.1" targetFramework="net48" />
|
||||
<package id="Kreta.Core.IoC" version="1.2.63491" targetFramework="net48" />
|
||||
<package id="Kreta.Core.Validation" version="2.0.16" targetFramework="net48" />
|
||||
<package id="Kreta.Web.Logging" version="1.4.5" targetFramework="net48" />
|
||||
<package id="Kreta.Web.Logging.Abstractions" version="1.0.12" targetFramework="net48" />
|
||||
<package id="log4net" version="2.0.8" targetFramework="net48" />
|
||||
<package id="log4net.ElasticSearch" version="2.3.6" targetFramework="net48" />
|
||||
<package id="Meziantou.Analyzer" version="1.0.688" targetFramework="net48" developmentDependency="true" />
|
||||
<package id="Microsoft.AspNet.WebApi" version="5.2.6" targetFramework="net48" />
|
||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.6" targetFramework="net48" />
|
||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.6" targetFramework="net48" />
|
||||
<package id="Microsoft.AspNet.WebApi.Owin" version="5.2.6" targetFramework="net48" />
|
||||
<package id="Microsoft.AspNet.WebApi.OwinSelfHost" version="5.2.6" targetFramework="net48" />
|
||||
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.6" targetFramework="net48" />
|
||||
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.1.1" targetFramework="net48" />
|
||||
<package id="Microsoft.DotNet.PlatformAbstractions" version="2.0.4" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Configuration" version="2.0.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Configuration.Abstractions" version="2.0.1" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Configuration.Binder" version="2.0.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="2.0.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.DependencyModel" version="2.0.4" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Options" version="2.0.1" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Options.ConfigurationExtensions" version="2.0.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Extensions.Primitives" version="2.0.0" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Logging" version="5.4.0" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Protocol.Extensions" version="1.0.2.206221351" targetFramework="net48" />
|
||||
<package id="Microsoft.IdentityModel.Tokens" version="5.4.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Owin" version="4.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Owin.Host.HttpListener" version="3.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Owin.Host.SystemWeb" version="4.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Owin.Hosting" version="3.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Owin.Security" version="4.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Owin.Security.Jwt" version="3.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Owin.Security.OAuth" version="3.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net48" />
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
|
||||
<package id="Nexius.Common" version="1.0.0.29" targetFramework="net48" />
|
||||
<package id="Nexius.IdentityProvider.Model" version="1.0.0.109" targetFramework="net48" />
|
||||
<package id="Owin" version="1.0" targetFramework="net48" />
|
||||
<package id="Pipelines.Sockets.Unofficial" version="2.1.16" targetFramework="net48" />
|
||||
<package id="Serilog" version="2.8.0" targetFramework="net48" />
|
||||
<package id="Serilog.Formatting.Compact" version="1.0.0" targetFramework="net48" />
|
||||
<package id="Serilog.Formatting.Elasticsearch" version="8.0.0" targetFramework="net48" />
|
||||
<package id="Serilog.Settings.Configuration" version="3.1.0" targetFramework="net48" />
|
||||
<package id="Serilog.Sinks.Elasticsearch" version="8.0.0" targetFramework="net48" />
|
||||
<package id="Serilog.Sinks.File" version="4.0.0" targetFramework="net48" />
|
||||
<package id="Serilog.Sinks.PeriodicBatching" version="2.1.1" targetFramework="net48" />
|
||||
<package id="Serilog.Sinks.RollingFile" version="3.3.0" targetFramework="net48" />
|
||||
<package id="SimpleInjector" version="4.0.11" targetFramework="net48" />
|
||||
<package id="SimpleInjector.Integration.WebApi" version="4.0.11" targetFramework="net48" />
|
||||
<package id="StackExchange.Redis" version="2.1.58" targetFramework="net48" />
|
||||
<package id="Swashbuckle" version="5.6.0" targetFramework="net48" />
|
||||
<package id="Swashbuckle.Core" version="5.6.0" targetFramework="net48" />
|
||||
<package id="Swashbuckle.Examples" version="3.12.0" targetFramework="net48" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||
<package id="System.Diagnostics.DiagnosticSource" version="4.5.1" targetFramework="net48" />
|
||||
<package id="System.Diagnostics.PerformanceCounter" version="4.7.0" targetFramework="net48" />
|
||||
<package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net48" />
|
||||
<package id="System.IO" version="4.3.0" targetFramework="net48" />
|
||||
<package id="System.IO.Compression" version="4.3.0" targetFramework="net48" />
|
||||
<package id="System.IO.Pipelines" version="4.7.1" targetFramework="net48" />
|
||||
<package id="System.Memory" version="4.5.3" targetFramework="net48" />
|
||||
<package id="System.Net.Http" version="4.3.4" targetFramework="net48" />
|
||||
<package id="System.Numerics.Vectors" version="4.4.0" targetFramework="net48" />
|
||||
<package id="System.Runtime" version="4.3.0" targetFramework="net48" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.1" targetFramework="net48" />
|
||||
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net48" />
|
||||
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" />
|
||||
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" />
|
||||
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net48" />
|
||||
<package id="System.Threading.Channels" version="4.7.1" targetFramework="net48" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
|
||||
<package id="Wdc.System.Net.Http.Formatting.NetStandard" version="1.0.7" targetFramework="net48" />
|
||||
<package id="WebActivatorEx" version="2.2.0" targetFramework="net48" />
|
||||
</packages>
|
Loading…
Add table
Add a link
Reference in a new issue