public async Task <ActionResult <HttpResultModel> > GetById(string tIN) { HttpResultModel httpResult = new HttpResultModel(); try { if (!string.IsNullOrWhiteSpace(tIN)) { VATSoapService.vatserviceRD3SoapClient service = new VATSoapService.vatserviceRD3SoapClient(); ChannelFactory <VATSoapService.vatserviceRD3Soap> channelFactory = service.ChannelFactory; // Must set certificates before CreateChannel() //string certificatepath1 = @"C:\Users\Me\source\repos\RevenueService\RevenueService.Api\Resources\adhq1.cer"; //string certificatepath2 = @"C:\Users\Me\source\repos\RevenueService\RevenueService.Api\Resources\ADHQ5.cer"; //X509Certificate2 certificate1 = new X509Certificate2(System.IO.File.ReadAllBytes(certificatepath1)); //X509Certificate2 certificate2 = new X509Certificate2(System.IO.File.ReadAllBytes(certificatepath2)); //channelFactory.Credentials.ClientCertificate.Certificate = certificate1; //channelFactory.Credentials.ServiceCertificate.DefaultCertificate = certificate2; VATSoapService.vatserviceRD3Soap channel = channelFactory.CreateChannel(); VATSoapService.ServiceRequest serviceRequest = new VATSoapService.ServiceRequest { Body = new VATSoapService.ServiceRequestBody { username = soapUsername, password = soapPassword, TIN = tIN, Name = "", ProvinceCode = 0, BranchNumber = 0, AmphurCode = 0, } }; VATSoapService.ServiceResponse responseMessage = await channel.ServiceAsync(serviceRequest); VATSoapService.vat soapResult = responseMessage?.Body.ServiceResult; Model.VAT vat = new Model.VAT(soapResult); httpResult.SetPropertyHttpResult(httpResult, true, "", "", StatusCodes.Status200OK, vat); } else { httpResult.SetPropertyHttpResult(httpResult, true, "", "", StatusCodes.Status400BadRequest); } } catch (Exception ex) { httpResult.SetPropertyHttpResult(httpResult, false, "", ex.Message, StatusCodes.Status500InternalServerError); } return(httpResult); }
public async Task <ActionResult <HttpResultModel> > Get([FromBody] Model.VAT model) { HttpResultModel httpResult = new HttpResultModel(); try { VATSoapService.vatserviceRD3SoapClient service = new VATSoapService.vatserviceRD3SoapClient(); ChannelFactory <VATSoapService.vatserviceRD3Soap> channelFactory = service.ChannelFactory; VATSoapService.vatserviceRD3Soap channel = channelFactory.CreateChannel(); VATSoapService.ServiceRequest serviceRequest = new VATSoapService.ServiceRequest { Body = new VATSoapService.ServiceRequestBody { username = soapUsername, password = soapPassword, TIN = model.vtin, Name = model.vName, ProvinceCode = Convert.ToInt32(model.vProvince), BranchNumber = Convert.ToInt32(model.vBranchNumber), AmphurCode = Convert.ToInt32(model.vAmphur), } }; VATSoapService.ServiceResponse responseMessage = await channel.ServiceAsync(serviceRequest); VATSoapService.vat soapResult = responseMessage?.Body.ServiceResult; Model.VAT vatModel = new Model.VAT(soapResult); httpResult.SetPropertyHttpResult(httpResult, true, "", "", StatusCodes.Status200OK, vatModel); } catch (Exception ex) { httpResult.SetPropertyHttpResult(httpResult, false, "API Error", ex.Message, StatusCodes.Status500InternalServerError); } return(Ok(httpResult)); }