using Microsoft.Extensions.Configuration; using ServiceReferenceHzcyHis; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; using static ServiceReferenceHzcyHis.bstjPortTypeClient; namespace Shentun.Peis.PlugIns.Gem { public class PatientRegisterPluginsGemHis : PatientRegisterPluginsBase { private string _endpointAddress = ""; public PatientRegisterPluginsGemHis(string parmValue) : base(parmValue) { _endpointAddress = InterfaceConfig.GetSection("Interface").GetSection("EndpointAddress").Value; } public async Task PatientQuery(HisPatientQueryInput input) { using (var client = CreateClient()) { input.SeviceBaseArg.Service = "patientQuery"; var data = XmlHelper.SerializeToXml(input.Data); var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service, input.SeviceBaseArg.Urid, input.SeviceBaseArg.Pwd, data)).@return; var result = XmlHelper.DeserializeXml(resultStr); return result; } } public async Task MecSave(HisMecSaveInput input) { using (var client = CreateClient()) { input.SeviceBaseArg.Service = "mecSave"; var data = XmlHelper.SerializeToXml(input.Data); var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service, input.SeviceBaseArg.Urid, input.SeviceBaseArg.Pwd, data)).@return; var result = XmlHelper.DeserializeXml(resultStr); return result; } } public async Task CancelQrCode(HisCancelQrCodeInput input) { using (var client = CreateClient()) { input.SeviceBaseArg.Service = "cancelQrCode"; var data = XmlHelper.SerializeToXml(input.Data); var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service, input.SeviceBaseArg.Urid, input.SeviceBaseArg.Pwd, data)).@return; var result = XmlHelper.DeserializeXml(resultStr); return result; } } public async Task PayStatus(HisPayStatusInput input) { using (var client = CreateClient()) { input.SeviceBaseArg.Service = "payStatus"; var data = XmlHelper.SerializeToXml(input.Data); var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service, input.SeviceBaseArg.Urid, input.SeviceBaseArg.Pwd, data)).@return; var result = XmlHelper.DeserializeXml(resultStr); return result; } } public async Task AgreeRefund(HisAgreeRefundInput input) { using (var client = CreateClient()) { input.SeviceBaseArg.Service = "agreeRefund"; var data = XmlHelper.SerializeToXml(input.Data); var resultStr = (await client.invokeAsync(input.SeviceBaseArg.Service, input.SeviceBaseArg.Urid, input.SeviceBaseArg.Pwd, data)).@return; var result = XmlHelper.DeserializeXml(resultStr); return result; } } private bstjPortTypeClient CreateClient() { return new bstjPortTypeClient(EndpointConfiguration.bstjHttpSoap11Endpoint, _endpointAddress); } } }