init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
172
Kreta.Client/Tavollet/TavolletClient.cs
Normal file
172
Kreta.Client/Tavollet/TavolletClient.cs
Normal file
|
@ -0,0 +1,172 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using Kreta.Core.SAP.CommunicationModels;
|
||||
using Kreta.Core.SAP.CommunicationModels.SzamfejtettTavolletek;
|
||||
using Kreta.Core.SAP.CommunicationModels.TavolletIgenyekKezelese;
|
||||
using Kreta.Core.SAP.Enums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Logging;
|
||||
using Kreta.Resources;
|
||||
using Newtonsoft.Json;
|
||||
using RestSharp;
|
||||
|
||||
namespace Kreta.Client.Tavollet
|
||||
{
|
||||
public class TavolletClient
|
||||
{
|
||||
private readonly string baseUrl;
|
||||
private readonly string apiKey;
|
||||
|
||||
public TavolletClient(string baseUrl, string apiKey)
|
||||
{
|
||||
this.baseUrl = baseUrl;
|
||||
this.apiKey = apiKey;
|
||||
}
|
||||
|
||||
private IRestResponse Http(Method method, string relativeUri, Dictionary<string, string> parameters = null, Object body = null)
|
||||
{
|
||||
var restRequest = new RestRequest(relativeUri, method);
|
||||
restRequest.AddHeader("ApiKey", apiKey);
|
||||
|
||||
if (parameters != null && parameters.Count > 0)
|
||||
{
|
||||
foreach (var parameter in parameters)
|
||||
{
|
||||
restRequest.AddParameter(parameter.Key, parameter.Value);
|
||||
}
|
||||
}
|
||||
|
||||
if (method == Method.POST && body != null)
|
||||
{
|
||||
restRequest.AddJsonBody(body);
|
||||
}
|
||||
|
||||
var result = new RestClient(string.Format(baseUrl)).Execute(restRequest);
|
||||
|
||||
if (result.StatusCode == HttpStatusCode.InternalServerError)
|
||||
{
|
||||
throw new Exception(result.ErrorMessage);
|
||||
}
|
||||
|
||||
if (result.StatusCode == HttpStatusCode.NotFound || result.StatusCode == HttpStatusCode.BadRequest)
|
||||
{
|
||||
SDAServer.Instance.Logger.CustomEvent(Events.CLIENT_GENERAL, LogLevel.WARNING, result.Content);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private TResponse Http<TResponse>(Method method, string relativeUri, Dictionary<string, string> parameters = null, Object body = null) where TResponse : IBaseResponseModel, new()
|
||||
{
|
||||
var result = Http(method, relativeUri, parameters, body);
|
||||
|
||||
if (result.StatusCode == HttpStatusCode.BadRequest)
|
||||
{
|
||||
var errorModel = new TResponse();
|
||||
errorModel.IsSuccess = false;
|
||||
errorModel.ErrorMessage = result.Content;
|
||||
|
||||
return errorModel;
|
||||
}
|
||||
|
||||
if (result.StatusCode == HttpStatusCode.NotFound)
|
||||
{
|
||||
var errorModel = new TResponse();
|
||||
errorModel.IsSuccess = false;
|
||||
errorModel.ErrorMessage = HRModulResource.SzolgaltatasJelenlegNemElerheto;
|
||||
|
||||
return errorModel;
|
||||
}
|
||||
|
||||
var response = JsonConvert.DeserializeObject<TResponse>(result.Content);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
private TResponse PostAsync<TResponse>(string relativeUri, Dictionary<string, string> parameters = null, Object body = null) where TResponse : IBaseResponseModel, new()
|
||||
{
|
||||
return Http<TResponse>(Method.POST, relativeUri, parameters, body);
|
||||
}
|
||||
|
||||
public TavolletjelentoListaResponseModel GetTavolletek(TavolletjelentoListaRequestModel request)
|
||||
{
|
||||
var response = PostAsync<TavolletjelentoListaResponseModel>("/api/holidaysmanagement/external/getTavolletjelentoLista", null, request);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public TavolletAdatokResponseModel GetTavolletAlkalmazottakAdatai(TavolletAdatokRequestModel request)
|
||||
{
|
||||
var response = PostAsync<TavolletAdatokResponseModel>("/api/holidaysmanagement/external/getTavolletAdatok", null, request);
|
||||
return response;
|
||||
}
|
||||
|
||||
public IntezmenyiTavolletBefogadottResponseModel GetVezetokTavolletAdatok(IntezmenyiTavolletBefogadottRequestModel request)
|
||||
{
|
||||
var response = PostAsync<IntezmenyiTavolletBefogadottResponseModel>("/api/holidaysmanagement/external/vezetok/getIntezmenyiTavolletBefogadott", null, request);
|
||||
return response;
|
||||
}
|
||||
|
||||
public IntezmenyiTavolletBefogadottResponseModel GetAlkalmazottakTavolletAdatok(IntezmenyiTavolletBefogadottRequestModel request)
|
||||
{
|
||||
var response = PostAsync<IntezmenyiTavolletBefogadottResponseModel>("/api/holidaysmanagement/external/alkalmazottak/getIntezmenyiTavolletBefogadott", null, request);
|
||||
return response;
|
||||
}
|
||||
|
||||
public TavolletjelentoDetailResponseModel GetTavollet(TavolletjelentoCRUDRequestModel request)
|
||||
{
|
||||
var response = PostAsync<TavolletjelentoDetailResponseModel>("/api/holidaysmanagement/external/getTavolletDetail", null, request);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public TavolletjelentoListaResponseModel GetTavolletDetailList(TavolletjelentoCRUDRequestModel request)
|
||||
{
|
||||
var response = PostAsync<TavolletjelentoListaResponseModel>("/api/holidaysmanagement/external/getTavolletDetailList", null, request);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public TavolletjelentoCRUDResponseModel SaveOrUpdateTavollet(TavolletjelentoCRUDRequestModel request)
|
||||
{
|
||||
var response = new TavolletjelentoCRUDResponseModel();
|
||||
switch (request.Action)
|
||||
{
|
||||
case WorkflowMuveletek.Letrehoz:
|
||||
response = PostAsync<TavolletjelentoCRUDResponseModel>("/api/holidaysmanagement/external/createTavollet", null, request);
|
||||
break;
|
||||
case WorkflowMuveletek.Modosit:
|
||||
case WorkflowMuveletek.Hianypotlas:
|
||||
case WorkflowMuveletek.Elutasit:
|
||||
response = PostAsync<TavolletjelentoCRUDResponseModel>("/api/holidaysmanagement/external/updateTavollet", null, request);
|
||||
break;
|
||||
default:
|
||||
throw new Exception();
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public IntezmenyiTavolletIgenyElfogadasResponseModel JovahagyTavolletek(List<IntezmenyiTavolletIgenyElfogadasRequestModel> request)
|
||||
{
|
||||
var response = PostAsync<IntezmenyiTavolletIgenyElfogadasResponseModel>("/api/holidaysmanagement/external/jovahagyTavolletek", null, request);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public TavolletjelentoCRUDResponseModel DeleteTavollet(TavolletjelentoCRUDRequestModel request)
|
||||
{
|
||||
var response = PostAsync<TavolletjelentoCRUDResponseModel>("/api/holidaysmanagement/external/deleteTavollet", null, request);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
public TavolletDokumentumSyncResponseModel SyncTavolletIktatott(TavolletDokumentumSyncRequestModel request)
|
||||
{
|
||||
var result = PostAsync<TavolletDokumentumSyncResponseModel>("/api/holidaysmanagement/external/syncDocumentInfo", null, request);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue