init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
805
Kreta.Client/KGR/KGRClient.cs
Normal file
805
Kreta.Client/KGR/KGRClient.cs
Normal file
|
@ -0,0 +1,805 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using Kreta.Client.ClientBase;
|
||||
using Kreta.Client.KGR.Configuration;
|
||||
using Kreta.Client.KGR.Exceptions;
|
||||
using Kreta.Client.KGR.Extension;
|
||||
using Kreta.Client.KGR.Model;
|
||||
using Kreta.Client.KGR.Request;
|
||||
using Kreta.Client.KGR.Response;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Exceptions;
|
||||
using Kreta.Resources;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Client.KGR
|
||||
{
|
||||
internal class KGRClient : RestSharpClientBase, IKGRClient
|
||||
{
|
||||
private readonly IKGRClientConfiguration kgrClientConfiguration;
|
||||
|
||||
public KGRClient(IKGRClientConfiguration kgrClientConfiguration)
|
||||
{
|
||||
this.kgrClientConfiguration = kgrClientConfiguration ?? throw new ArgumentNullException(nameof(kgrClientConfiguration));
|
||||
}
|
||||
|
||||
public List<EszkozModel> KGREszkozList(EszkozHeaderRequest request)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"kreta/eszkozok/intezmenyi";
|
||||
var response = Post(relativeUri, token.AccessToken.GetAuthorizationHeaderWithJson(request.IntezmenyGuid), queryStrings: HeaderExtension.GetEszkozQueryString(request.IntezmenyAzonosito, request.Sztsz));
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<EszkozModel>>(response.Result);
|
||||
}
|
||||
|
||||
return new List<EszkozModel>();
|
||||
}
|
||||
|
||||
return new List<EszkozModel>();
|
||||
}
|
||||
|
||||
public List<ProjektModel> ProjektList(ProjektHeaderRequest request)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"kreta/projektek/felhasznalo/{request.AlkalmazottId}/osszes";
|
||||
var response = Get(relativeUri, token.AccessToken.GetAuthorizationHeaderWithJson(request.IntezmenyGuid));
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<ProjektModel>>(response.Result);
|
||||
}
|
||||
|
||||
return new List<ProjektModel>();
|
||||
}
|
||||
|
||||
return new List<ProjektModel>();
|
||||
}
|
||||
|
||||
public List<ProjektModel> ProjektJelentkezes(ProjektJelentkezesModel model)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/projektek/felhasznalo/jelentkezes";
|
||||
var response = Put(relativeUri, token.AccessToken.GetAuthorizationHeaderWithJson(), body: model);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return new List<ProjektModel>();
|
||||
}
|
||||
|
||||
return new List<ProjektModel>();
|
||||
}
|
||||
|
||||
return new List<ProjektModel>();
|
||||
}
|
||||
|
||||
public ApaczaiPalyazatModel CreateApaczaiPalyazat(ApaczaiPalyazatFelvetelRequest model)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/felvetel";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", model.Palyazo.IdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", model.TanevId.ToString());
|
||||
headers.Add("retrieve", "true");
|
||||
|
||||
var response = Post(relativeUri, headers, body: model);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<ApaczaiPalyazatModel>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatBenyujtas, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiPalyazatBenyujtas));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiPalyazatBenyujtas);
|
||||
}
|
||||
|
||||
public ApaczaiPalyazatModel PalyazatAdategyeztetes(ApaczaiPalyazatFelvetelRequest model)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/adategyeztetes";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", model.Palyazo.IdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", model.TanevId.ToString());
|
||||
headers.Add("retrieve", "true");
|
||||
|
||||
var response = Post(relativeUri, headers, body: model);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<ApaczaiPalyazatModel>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatAdategyeztetes, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiPalyazatAdategyeztetes));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiPalyazatAdategyeztetes);
|
||||
}
|
||||
|
||||
public ApaczaiPalyazatModel GetApaczaiPalyazat(int tanevSorszam, Guid tanuloIdpEgyediAzonosito)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<ApaczaiPalyazatModel>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatLekeres, response.Exception);
|
||||
}
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatLekeres);
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiPalyazatLekeres);
|
||||
}
|
||||
|
||||
public List<ApaczaiPalyazatDokumentumModel> GetApaczaiPalyazatDokumentumai(int tanevSorszam, Guid tanuloIdpEgyediAzonosito)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/fajl/felhasznalo/osszes";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<ApaczaiPalyazatDokumentumModel>>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiDokumentumokLekerese, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiDokumentumokLekerese));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiDokumentumokLekerese);
|
||||
}
|
||||
|
||||
public byte[] GetApaczaiPalyazatDokumentuma(int tanevSorszam, Guid tanuloIdpEgyediAzonosito, Guid fileId)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/fajl/letoltes";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
headers.Add("FileServiceEgyediAzonosito", fileId.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return response.RawBytes;
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiDokumentumLetoltes, response.Exception);
|
||||
}
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiDokumentumLetoltes);
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiDokumentumLetoltes);
|
||||
}
|
||||
|
||||
public bool PostApaczaiPalyazatDokumentumBinaryFiles(int tanevSorszam, Guid tanuloIdpEgyediAzonosito, ApaczaiUploadFileRequestBinary model)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
headers.Add("FileTypeId", model.PostedFileCategory.ToString());
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/fajl/stream/feltoltes";
|
||||
|
||||
var postedFiles = new List<Jira.Model.Request.File>() { new Jira.Model.Request.File()
|
||||
{
|
||||
Content = model.File,
|
||||
ContentType = model.PostedFileContentType,
|
||||
FileName = model.PostedFileName,
|
||||
Name = "fajl"
|
||||
}};
|
||||
|
||||
var response = Post(relativeUri, headers, fileList: postedFiles);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiDokumentumFeltoltes, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiDokumentumFeltoltes));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiDokumentumFeltoltes);
|
||||
}
|
||||
|
||||
public ApaczaiPalyazatModel GetApaczaiVisszavonas(int tanevSorszam, Guid tanuloIdpEgyediAzonosito, bool retrieve = false)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/visszavonas";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
headers.Add("Retrieve", retrieve.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<ApaczaiPalyazatModel>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatVisszavonas, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiPalyazatVisszavonas));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiPalyazatVisszavonas);
|
||||
}
|
||||
|
||||
public List<ApaczaiIgenylesModel> GetIgenylesekModelList(int tanevSorszam, Guid intezmenyEgyediAzonosito)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/intezmeny/osszes";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
headers.Add("IntezmenyEgyediAzonosito", intezmenyEgyediAzonosito.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<ApaczaiIgenylesModel>>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatVisszavonas, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiIgenylesekLekerese));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiIgenylesekLekerese);
|
||||
}
|
||||
|
||||
public List<ApaczaiKifizetesModel> GetKifizetesekModelList(int tanevSorszam)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/{tanevSorszam}";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
//headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
try
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<ApaczaiKifizetesModel>>(response.Result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new List<ApaczaiKifizetesModel>();
|
||||
}
|
||||
}
|
||||
|
||||
return new List<ApaczaiKifizetesModel>();
|
||||
}
|
||||
|
||||
return new List<ApaczaiKifizetesModel>();
|
||||
}
|
||||
|
||||
public bool DeleteApaczaiPalyazatDokumentuma(int tanevSorszam, Guid tanuloIdpEgyediAzonosito, Guid fileId)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/fajl/torles";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
headers.Add("FileServiceEgyediAzonosito", fileId.ToString());
|
||||
|
||||
var response = Delete(relativeUri, headers);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiDokumentumTorles, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiDokumentumTorles));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiDokumentumTorles);
|
||||
}
|
||||
|
||||
public bool Fellebbezes(Guid tanuloIdpEgyediAzonosito, int tanevSorszam, string indoklas)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/fellebbez";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
var model = new ApaczaiFellebbezesRequest() { FellebbezesKomment = indoklas };
|
||||
var response = Post(relativeUri, headers, body: model);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatFellebbezesBenyujtas, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException(string.Empty);
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiPalyazatFellebbezesBenyujtas));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<ApaczaiPalyazatTortenetModel> GetApaczaiPalyazatTortenet(int tanevSorszam, Guid tanuloIdpEgyediAzonosito)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/palyazattortenet";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("EgyediAzonosito", tanuloIdpEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<ApaczaiPalyazatTortenetModel>>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenApaczaiPalyazatTortenetLekeres, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("ApaczaiHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenApaczaiPalyazatTortenetLekeres));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenApaczaiPalyazatTortenetLekeres);
|
||||
}
|
||||
|
||||
public List<IntezmenyiBeszerzesModel> GetIntezmenyiBeszerzesList(Guid intezmenyEgyediAzonosito, int? tanevSorszam)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/beszerzes/tanev/osszes";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("IntezmenyEgyediAzonosito", intezmenyEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam?.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<IntezmenyiBeszerzesModel>>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenIntezmenyiBeszerzesListaLekeres, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("IntezmenyBeszerzesHiba", GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenIntezmenyiBeszerzesListaLekeres));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenIntezmenyiBeszerzesListaLekeres);
|
||||
}
|
||||
|
||||
public List<IntezmenyiBeszerzesModel> GetIntezmenyiBeszerzesExport(Guid intezmenyEgyediAzonosito, int? tanevSorszam)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/beszerzes/tanev/osszes/export";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("IntezmenyEgyediAzonosito", intezmenyEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam?.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<IntezmenyiBeszerzesModel>>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenIntezmenyiBeszerzesListaExportalas, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("IntezmenyBeszerzesHiba", GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenIntezmenyiBeszerzesListaExportalas));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenIntezmenyiBeszerzesListaExportalas);
|
||||
}
|
||||
|
||||
public IntezmenyiBeszerzesModel SaveIntezmenyiBeszerzes(IntezmenyiBeszerzesModel model)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = model.Id.IsEntityId() ? $"/kreta/beszerzes/adategyeztetes" : $"/kreta/beszerzes/felvetel";
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("retrieve", "false");
|
||||
|
||||
var response = Post(relativeUri, headers, body: model);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<IntezmenyiBeszerzesModel>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenBeszerzesFelvetel, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("IntezmenyBeszerzesHiba", GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenBeszerzesFelvetel));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenBeszerzesFelvetel);
|
||||
}
|
||||
|
||||
public IntezmenyiBeszerzesModel GetIntezmenyiBeszerzes(Guid intezmenyEgyediAzonosito, int id)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/beszerzes";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("Id", id.ToString());
|
||||
headers.Add("IntezmenyEgyediAzonosito", intezmenyEgyediAzonosito.ToString());
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<IntezmenyiBeszerzesModel>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenBeszerzesLekeres, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("IntezmenyBeszerzesHiba", GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenBeszerzesLekeres));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenBeszerzesLekeres);
|
||||
}
|
||||
|
||||
public List<IntezmenyiBeszerzesAdatszotarAllapotModel> GetIntezmenyiBeszerzesAdatszotarAllapotList()
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/beszerzes/adatszotar/allapot";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<IntezmenyiBeszerzesAdatszotarAllapotModel>>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenIntezmenyiBeszerzesAllapotListaLekeres, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("IntezmenyBeszerzesHiba", GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenIntezmenyiBeszerzesAllapotListaLekeres));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenIntezmenyiBeszerzesAllapotListaLekeres);
|
||||
}
|
||||
|
||||
public List<IntezmenyiBeszerzesAdatszotarTargyModel> GetIntezmenyiBeszerzesAdatszotarTargyList()
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/beszerzes/adatszotar/targy";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<IntezmenyiBeszerzesAdatszotarTargyModel>>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenIntezmenyiBeszerzesTargyListaLekeres, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("IntezmenyBeszerzesHiba", GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenIntezmenyiBeszerzesTargyListaLekeres));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenIntezmenyiBeszerzesTargyListaLekeres);
|
||||
}
|
||||
|
||||
public IntezmenyiBeszerzesVisszavonasModel PostIntezmenyiBeszerzesVisszavonas(IntezmenyiBeszerzesVisszavonasRequest request)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/beszerzes/visszavonas";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("Retrieve", "true");
|
||||
|
||||
var response = Post(relativeUri, headers, body: request);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<IntezmenyiBeszerzesVisszavonasModel>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new ApplicationException(ErrorResource.SikertelenIntezmenyiBeszerzesVisszavonas, response.Exception);
|
||||
}
|
||||
var exception = new ApplicationException();
|
||||
exception.Data.Add("IntezmenyBeszerzesHiba", GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenIntezmenyiBeszerzesVisszavonas));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenIntezmenyiBeszerzesVisszavonas);
|
||||
}
|
||||
|
||||
public bool HasElfogadottPalyazatMasikIntezmenyByOktatasiAzonosito(Guid intezmenyEgyediAzonosito, int tanevSorszam, string oktatasiAzonosito)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (token.IsSuccess)
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.KGRUrl;
|
||||
|
||||
var relativeUri = $"/kreta/apaczai/palyazhat";
|
||||
|
||||
var headers = token.AccessToken.GetAuthorizationHeaderWithJson();
|
||||
headers.Add("IntezmenyEgyediAzonosito", intezmenyEgyediAzonosito.ToString());
|
||||
headers.Add("TanevId", tanevSorszam.ToString());
|
||||
headers.Add("OktatasiAzonosito", oktatasiAzonosito);
|
||||
|
||||
var response = Get(relativeUri, headers);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<bool>(response.Result);
|
||||
}
|
||||
|
||||
if (response.Exception != null)
|
||||
{
|
||||
throw new HasElfogadottPalyazatMasikIntezmenyByOktatasiAzonositoResponseException(ErrorResource.SikertelenHasPalyazatMasikIntezmenyByOktatasiAzonosito, response.Exception);
|
||||
}
|
||||
var exception = new HasElfogadottPalyazatMasikIntezmenyByOktatasiAzonositoApaczaiHibauzenetException();
|
||||
exception.Data.Add("HasPalyazatMasikIntezmenyByOktatasiAzonositoHiba", GetApaczaiHibaUzenetFromHibaResponse(response.Result, ErrorResource.SikertelenHasPalyazatMasikIntezmenyByOktatasiAzonosito));
|
||||
throw exception;
|
||||
}
|
||||
|
||||
throw new SikertelenAccessTokenLekeresException(ErrorResource.SikertelenHasPalyazatMasikIntezmenyByOktatasiAzonosito);
|
||||
}
|
||||
|
||||
public GetTokenResponse GetToken()
|
||||
{
|
||||
return GetToken(kgrClientConfiguration.GetTokenRequestParameters());
|
||||
}
|
||||
|
||||
private GetTokenResponse GetToken(Dictionary<string, string> tokenRequestParameters)
|
||||
{
|
||||
return ExceptionLogger(() =>
|
||||
{
|
||||
BaseUrl = kgrClientConfiguration.IDPUrl;
|
||||
var relativeUri = "/connect/token";
|
||||
|
||||
var json = JsonConvert.SerializeObject(tokenRequestParameters);
|
||||
var response = Post(relativeUri, HeaderExtension.GetFormUrlEncodedHeader(), tokenRequestParameters);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
var successResponse = JsonConvert.DeserializeObject<GetTokenSuccessResponse>(response.Result);
|
||||
return new GetTokenResponse(successResponse.AccessToken, successResponse.ExpiresIn);
|
||||
}
|
||||
|
||||
var failureResponse = JsonConvert.DeserializeObject<GetTokenFailureResponse>(response.Result);
|
||||
return new GetTokenResponse(failureResponse.Error);
|
||||
});
|
||||
}
|
||||
|
||||
private T ExceptionLogger<T>(Func<T> action) where T : IResponse, new()
|
||||
{
|
||||
try
|
||||
{
|
||||
return action();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
SDAServer.Instance.Logger.ExceptionThrown(ex);
|
||||
|
||||
return (T)Activator.CreateInstance(typeof(T), ExceptionUtil.ExceptionToString(ex));
|
||||
}
|
||||
}
|
||||
|
||||
private static ApaczaiHibaResponseModel GetApaczaiHibaUzenetFromHibaResponse(string responseJSON, string prefix)
|
||||
{
|
||||
return GetHibaUzenetFromHibaResponse<ApaczaiHibaResponseModel, ApaczaiHibaModel>(responseJSON, prefix, ErrorResource.KerjukEllenorizdAMegadottAdatokat);
|
||||
}
|
||||
|
||||
private static IntezmenyiBeszerzesHibaResponseModel GetIntezmenyiBeszerzesHibaUzenetFromHibaResponse(string responseJSON, string prefix)
|
||||
{
|
||||
return GetHibaUzenetFromHibaResponse<IntezmenyiBeszerzesHibaResponseModel, IntezmenyiBeszerzesHibaModel>(responseJSON, prefix);
|
||||
}
|
||||
|
||||
private static T GetHibaUzenetFromHibaResponse<T, TU>(string responseJSON, string prefix, string uzenetPost = null)
|
||||
where T : BaseHibaResponseModel, new()
|
||||
where TU : BaseHibaModel, new()
|
||||
{
|
||||
var hibaResponseModel = new T
|
||||
{
|
||||
Uzenet = prefix,
|
||||
};
|
||||
|
||||
var hiba = JsonConvert.DeserializeObject<TU>(responseJSON);
|
||||
if (hiba.ValidationResult != null)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
var tiltasok = hiba.ValidationResult.Tiltasok.Select(x => x.Uzenet);
|
||||
var figyelmeztetesek = hiba.ValidationResult.Figyelmeztetesek.Select(x => x.Uzenet);
|
||||
var engedelyezettek = hiba.ValidationResult.Engedelyezettek.Select(x => x.Uzenet);
|
||||
var megjelenitendoHibak = tiltasok.Union(figyelmeztetesek).Union(engedelyezettek);
|
||||
sb.Append(string.Join("<br />", megjelenitendoHibak));
|
||||
//NOTE: ha meg akarjuk a felületen jeleníteni: hibaResponseModel.NemMegjelenitendoHiba = sb.ToString();
|
||||
hibaResponseModel.NemMegjelenitendoHiba = sb.ToString();
|
||||
}
|
||||
if (hiba.Errors != null && hiba.Errors.Count > 0)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
foreach (var key in hiba.Errors.Keys)
|
||||
{
|
||||
sb.AppendLine($"{key}: {string.Join("<br />", hiba.Errors[key])}");
|
||||
}
|
||||
//NOTE: ha a validationresult-ot meg akarjuk a felületen jeleníteni: hibaResponseModel.NemMegjelenitendoHiba == sb.ToString();
|
||||
hibaResponseModel.NemMegjelenitendoHiba += sb.ToString();
|
||||
hibaResponseModel.Uzenet = hibaResponseModel.Uzenet.Substring(0, hibaResponseModel.Uzenet.Length - 1) + (string.IsNullOrWhiteSpace(uzenetPost) ? "" : uzenetPost);
|
||||
}
|
||||
|
||||
return hibaResponseModel;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue