public GEM(GEMSoapService.gems soapObject)
 {
     if (soapObject != null)
     {
         vVATTaxPayerName    = soapObject.vVATTaxPayerName?.FirstOrDefault()?.ToString();
         vVATTaxPayerSurname = soapObject.vVATTaxPayerSurname?.FirstOrDefault()?.ToString();
         vGuildName          = soapObject.vGuildName?.FirstOrDefault()?.ToString();
         vProvince           = soapObject.vProvince?.FirstOrDefault()?.ToString();
         vProvinceCode       = soapObject.vProvince?.FirstOrDefault()?.ToString();
         vProvinceName       = soapObject.vProvinceName?.FirstOrDefault()?.ToString();
         vNID            = soapObject.vNID?.FirstOrDefault()?.ToString();
         vTIN            = soapObject.vTIN?.FirstOrDefault()?.ToString();
         vTitleName      = soapObject.vTitleName?.FirstOrDefault()?.ToString();
         vBuildingNumber = soapObject.vBuildingNumber?.FirstOrDefault()?.ToString();
         vRoomNumber     = soapObject.vRoomNumber?.FirstOrDefault()?.ToString();
         vFloorNumber    = soapObject.vFloorNumber?.FirstOrDefault()?.ToString();
         vVillageName    = soapObject.vVillageName?.FirstOrDefault()?.ToString();
         vHouseNumber    = soapObject.vHouseNumber?.FirstOrDefault()?.ToString();
         vMooNumber      = soapObject.vMooNumber?.FirstOrDefault()?.ToString();
         vSoiName        = soapObject.vSoiName?.FirstOrDefault()?.ToString();
         vStreetName     = soapObject.vStreetName?.FirstOrDefault()?.ToString();
         vAmphurName     = soapObject.vAmphurName?.FirstOrDefault()?.ToString();
         vPostCode       = soapObject.vPostCode?.FirstOrDefault()?.ToString();
         vPrivilegeDate  = soapObject.vPrivilegeDate?.FirstOrDefault()?.ToString();
         vMessErr        = soapObject.vMessErr?.FirstOrDefault()?.ToString();
     }
 }
        public async Task <ActionResult <HttpResultModel> > Get([FromBody] Model.GEM model)
        {
            HttpResultModel httpResult = new HttpResultModel();

            try
            {
                GEMSoapService.gemserviceRD3SoapClient            service        = new GEMSoapService.gemserviceRD3SoapClient();
                ChannelFactory <GEMSoapService.gemserviceRD3Soap> channelFactory = service.ChannelFactory;
                GEMSoapService.gemserviceRD3Soap channel        = channelFactory.CreateChannel();
                GEMSoapService.ServiceRequest    serviceRequest = new GEMSoapService.ServiceRequest
                {
                    Body = new GEMSoapService.ServiceRequestBody
                    {
                        username        = soapUsername,
                        password        = soapPassword,
                        TIN             = model.vTaxPayerID,
                        ProvinceCode    = Convert.ToInt32(model.vProvinceCode),
                        GuildName       = model.vGuildName,
                        VATTaxPayerName = model.vVATTaxPayerName
                    }
                };

                GEMSoapService.ServiceResponse responseMessage = await channel.ServiceAsync(serviceRequest);

                GEMSoapService.gems soapResult = responseMessage?.Body.ServiceResult;
                Model.GEM           gemModel   = new Model.GEM(soapResult);
                // TODO: ตรงนี้ไม่มีตัวอย่างข้อมูลสำหรับทดสอบ หากต้องการใช้งานจะต้องพัฒนาต่อเอง

                httpResult.SetPropertyHttpResult(httpResult, true, "", "", StatusCodes.Status200OK, gemModel);
            }
            catch (Exception ex)
            {
                httpResult.SetPropertyHttpResult(httpResult, false, "API Error", ex.Message, StatusCodes.Status500InternalServerError);
            }

            return(Ok(httpResult));
        }
 public ServiceArrResponseBody(GEMSoapService.gems ServiceArrResult)
 {
     this.ServiceArrResult = ServiceArrResult;
 }