コード例 #1
0
 private static System.ServiceModel.EndpointAddress GetDefaultEndpointAddress()
 {
     return(WSProcessoSeletivoSoapClient.GetEndpointAddress(EndpointConfiguration.WSProcessoSeletivoSoap));
 }
コード例 #2
0
 private static System.ServiceModel.Channels.Binding GetDefaultBinding()
 {
     return(WSProcessoSeletivoSoapClient.GetBindingForEndpoint(EndpointConfiguration.WSProcessoSeletivoSoap));
 }
コード例 #3
0
 public WSProcessoSeletivoSoapClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) :
     base(WSProcessoSeletivoSoapClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress)
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
コード例 #4
0
 public WSProcessoSeletivoSoapClient(EndpointConfiguration endpointConfiguration) :
     base(WSProcessoSeletivoSoapClient.GetBindingForEndpoint(endpointConfiguration), WSProcessoSeletivoSoapClient.GetEndpointAddress(endpointConfiguration))
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
コード例 #5
0
 public WSProcessoSeletivoSoapClient() :
     base(WSProcessoSeletivoSoapClient.GetDefaultBinding(), WSProcessoSeletivoSoapClient.GetDefaultEndpointAddress())
 {
     this.Endpoint.Name = EndpointConfiguration.WSProcessoSeletivoSoap.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
コード例 #6
0
        public async Task <IActionResult> PostPedidoLab([FromBody] PedidoLab[] pedidoLab)
        {
            var WsClient = new WSProcessoSeletivoSoapClient();

            var queryOrdemServico = pedidoLab.GroupBy(x => x.pedido.ordemServico)
                                    .Where(g => g.Count() > 1)
                                    .Select(y => y.Key)
                                    .ToList();

            var queryConcat = pedidoLab.Select(s => new
                                               { pedido_OrdemServico = s.identificador + s.pedido.ordemServico })
                              .GroupBy(x => x.pedido_OrdemServico)
                              .Where(g => g.Count() > 1)
                              .Select(y => y.Key)
                              .ToList();

            if (queryOrdemServico.Count > 0 || queryConcat.Count > 0)
            {
                string itemRepetido = string.Join(",", queryOrdemServico.ToArray());
                itemRepetido += string.Join(",", queryConcat.ToArray());

                return(BadRequest(itemRepetido));
            }

            foreach (var item in pedidoLab)
            {
                var pedido_OrdemServico = item.identificador + item.pedido.ordemServico;

                if (pedido_OrdemServico != item.pedido.ordemServico)
                {
                    item.pedido.ordemServico = pedido_OrdemServico;
                }
                var listEnum = Enum.GetNames(typeof(Connected_Services.Model.EnumExame));


                bool hasMatch = item.exames.GroupBy(x => x.codigo)
                                .Any(x => listEnum.Any(y => y.ToString() == x.Key));

                if (hasMatch)
                {
                    return(BadRequest(string.Format("Lista de Exames codigo invalido! para ordem de servico{0}", item.pedido.ordemServico)));
                }
            }

            string descricaoRequisicao;
            //var pedido = new PedidoLab[]
            //{
            //    new PedidoLab
            //    {
            //        identificador = "",
            //        pedido= new Pedido{ codigo ="", ordemServico="" },
            //        paciente = new Paciente{ codigo="",nome="", sexo="" },
            //        exames = new Exame[]
            //        { new Exame
            //            { codigo = ((int)Connected_Services.Model.EnumExame.Glicose).ToString(),descricao="" }
            //        }
            //    }
            //};

            var retorno = WsClient.SolicitaPedido(pedidoLab, out descricaoRequisicao);

            return(Ok(retorno));
        }