public IAck Send(object request) { using (var client = new NsiPortsTypeAsyncClient(_binding, _remoteAddress)) { client.Endpoint.EndpointBehaviors.Add(new MyEndpointBehavior()); if (!_config.IsPPAK) { client.ClientCredentials.UserName.UserName = Constants.UserAuth.Name; client.ClientCredentials.UserName.Password = Constants.UserAuth.Passwd; } if (!_config.UseTunnel) { client.ClientCredentials.ClientCertificate.SetCertificate( StoreLocation.CurrentUser, StoreName.My, X509FindType.FindByThumbprint, base._config.CertificateThumbprint); } switch (request.GetType().Name) { case nameof(exportNsiItemRequest1): return(client.exportNsiItem(request as exportNsiItemRequest1).AckRequest.Ack); case nameof(exportNsiListRequest1): return(client.exportNsiList(request as exportNsiListRequest1).AckRequest.Ack); case nameof(exportNsiPagingItemRequest1): return(client.exportNsiPagingItem(request as exportNsiPagingItemRequest1).AckRequest.Ack); default: throw new ArgumentException($"{request.GetType().Name} - Не верный тип аргумента"); } } }
public IAck Send(object request) { using (var client = new NsiPortsTypeAsyncClient(_binding, _remoteAddress)) { client.Endpoint.EndpointBehaviors.Add(new MyEndpointBehavior()); if (!_config.IsPPAK) { client.ClientCredentials.UserName.UserName = Constants.UserAuth.Name; client.ClientCredentials.UserName.Password = Constants.UserAuth.Passwd; } if (!_config.UseTunnel) { client.ClientCredentials.ClientCertificate.SetCertificate( StoreLocation.CurrentUser, StoreName.My, X509FindType.FindByThumbprint, base._config.CertificateThumbprint); } switch (request.GetType().Name) { case nameof(exportDataProviderNsiItemRequest1): return(client.exportDataProviderNsiItem(request as exportDataProviderNsiItemRequest1).AckRequest.Ack); case nameof(exportDataProviderPagingNsiItemRequest): return(client.exportDataProviderPagingNsiItem(request as exportDataProviderPagingNsiItemRequest).AckRequest.Ack); case nameof(importAdditionalServicesRequest1): return(client.importAdditionalServices(request as importAdditionalServicesRequest1).AckRequest.Ack); case nameof(importBaseDecisionMSPRequest1): return(client.importBaseDecisionMSP(request as importBaseDecisionMSPRequest1).AckRequest.Ack); case nameof(importCapitalRepairWorkRequest1): return(client.importCapitalRepairWork(request as importCapitalRepairWorkRequest1).AckRequest.Ack); case nameof(importMunicipalServicesRequest1): return(client.importMunicipalServices(request as importMunicipalServicesRequest1).AckRequest.Ack); case nameof(importOrganizationWorksRequest1): return(client.importOrganizationWorks(request as importOrganizationWorksRequest1).AckRequest.Ack); default: throw new ArgumentException($"{request.GetType().Name} - Не верный тип аргумента"); } } }
public bool TryGetResult(IAck ack, out IGetStateResult result) { using (var client = new NsiPortsTypeAsyncClient(_binding, _remoteAddress)) { client.Endpoint.EndpointBehaviors.Add(new MyEndpointBehavior()); if (!_config.IsPPAK) { client.ClientCredentials.UserName.UserName = Constants.UserAuth.Name; client.ClientCredentials.UserName.Password = Constants.UserAuth.Passwd; } if (!_config.UseTunnel) { client.ClientCredentials.ClientCertificate.SetCertificate( StoreLocation.CurrentUser, StoreName.My, X509FindType.FindByThumbprint, base._config.CertificateThumbprint); } var responce = client.getState(new getStateRequest1 { RequestHeader = RequestHelper.Create <RequestHeader>(_config.OrgPPAGUID, _config.Role), getStateRequest = new getStateRequest { MessageGUID = ack.MessageGUID } }); if (responce.getStateResult.RequestState == 3) { result = responce.getStateResult; return(true); } result = null; return(false); } }