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 HibakodList = new Dictionary { {"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()]; } } }