kreta/Kreta.Client/Mdsz/MdszClient.cs
2024-03-13 00:33:46 +01:00

59 lines
2.5 KiB
C#

using System.Collections.Generic;
using Kreta.Client.Mdsz.Dto;
using Kreta.Resources;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
using RestSharp.Authenticators;
namespace Kreta.Client
{
public class MdszClient
{
private readonly Dictionary<string, string> HibakodList = new Dictionary<string, string>
{
{"101", ErrorResource.ASzolgaltatasJelenlegNemEretheto},
{"102", ErrorResource.HibasFelhasznalonevEsVagyJelszo},
{"103", ErrorResource.AFelhasznaloLetiltasraKerult},
{"104", ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz},
{"200", ErrorResource.ACsomagErtelmezeseSikertelen},
{"210", ErrorResource.NincsIskola},
{"211", ErrorResource.NincsAzIskolanakOMAzonositoja},
{"212", ErrorResource.IskolaOMAzonositojaNemMegfeleloFormatumu},
{"213", ErrorResource.AMegadottOMAzonositovalEsSorszammalRendelkezoIntezmenyNemTalalhato},
{"214", ErrorResource.AMukodesiHelyAzonositojaNincsMegadvaAzEkretaRendszerben },
{"220", ErrorResource.NincsTanarMegadva},
{"221", ErrorResource.NincsMegadvaVagyHibasATanarPedagogusAzonositoja},
{"222", ErrorResource.HibaAFelhasznaloLetrehozasanal},
{"223", ErrorResource.NincsMegadvaVagyNemMegfeleloFormatumuAFelhasznaloEmailCime},
{"230", ErrorResource.NincsDiakMegadva},
{"231", ErrorResource.NincsMegadvaVagyHibasADiakOktatasiAzonositoja},
{"250", ErrorResource.EmailKuldesiHiba},
{"300", ErrorResource.EgyebVaratlanNemKezeltHiba}
};
string Url { get; }
public MdszClient(string url)
{
this.Url = url;
}
public string SendData(MdszDto model, string felhaszNev, string jelszo)
{
var client = new RestClient(Url) { Authenticator = new HttpBasicAuthenticator(felhaszNev, jelszo) };
var request = new RestRequest(Method.POST);
request.AddParameter("application/json", JsonConvert.SerializeObject(model), ParameterType.RequestBody);
var response = client.Execute(request);
var responseJson = JObject.Parse(response.Content);
if (responseJson["url"] != null && responseJson["csomag_azon"] != null)
{
return AdminisztracioResource.AKuldesSikeresVolt;
}
return HibakodList[responseJson["hiba_kod"].ToString()];
}
}
}