Пример #1
0
        // Montar os parâmetros necessários para acessar a palataforma da CCEE;
        private static ParametrosMedicaoCCEE MontarParametrosMedicao(int CodigoEmpresa, string perfilAgente, DateTime dataInicial, DateTime dataFinal, string path)
        {
            ParametrosMedicaoCCEE parm = new ParametrosMedicaoCCEE();

            if (CodigoEmpresa == 1)
            {
                // Dados para Delta
                parm.CertCliente    = path + "\\ChaveEnviadaParaCCEE.p12";
                parm.CertClientePwd = "Delta@123";
                parm.UsuarioAcesso  = "DELTA_ENERGIA";
                parm.SenhaAcesso    = "49817018";
            }

            if (CodigoEmpresa == 2)
            {
                // Dados para Thymos
                //TERMINAR
                //parm.CertCliente = @"chaveEnviadaCCEE.p12";
                //parm.CertClientePwd = ;
                //parm.UsuarioAcesso = ;
                //parm.SenhaAcesso = ;
            }

            parm.CertServer         = path + "\\servicoscceeorgbr.crt";
            parm.CodigoPerfilAgente = perfilAgente;
            parm.BindingName        = "ListarMedidaBSv1SOAPBinding";
            parm.URLService         = @"https://servicos.ccee.org.br:443/ws/medc/ListarMedidaBSv1";
            parm.PeriodoDataInicial = dataInicial;

            // sempre definir como data final o horario de 23:59:59
            parm.PeriodoDataFinal = dataFinal;
            parm.PeriodoDataFinal = parm.PeriodoDataFinal.AddHours(23);
            parm.PeriodoDataFinal = parm.PeriodoDataFinal.AddMinutes(59);
            parm.PeriodoDataFinal = parm.PeriodoDataFinal.AddSeconds(59);

            return(parm);
        }
Пример #2
0
        // tipoMedicao: C=Completa, F=Faltante
        public wsccee.ListarMedidaResponse ListarMedicaoCCEE(string path)
        {
            ParametrosMedicaoCCEE param = MontarParametrosMedicao(1, "18994", DateTime.Parse("01/05/2020"), DateTime.Parse("03/05/2020"), path);

            param.TipoMedicao       = "C";
            param.CodigoMedidorCCEE = "SPAVN-URPAR03";
            wsccee.ListarMedidaResponse resposta;

            wsccee.MessageHeaderType hd = new wsccee.MessageHeaderType();
            try
            {
                BasicHttpBinding binding = ConectarCCEE.GetBindingCCEE(param);
                binding.MaxReceivedMessageSize = 327680;
                // criar proxy para listar medições (proxy);
                wsccee.ListarMedidaBSv1PortTypeClient client = new wsccee.ListarMedidaBSv1PortTypeClient(binding, ConectarCCEE.GetEndPointAdress(param.URLService));

                // setar os certificados no proxy
                var certificates = ConectarCCEE.GetCertificadosCCEE(param);
                client.ClientCredentials.ClientCertificate.Certificate         = certificates[0];
                client.ClientCredentials.ServiceCertificate.DefaultCertificate = certificates[1];

                hd.codigoPerfilAgente = param.CodigoPerfilAgente;

                wsccee.SecurityHeaderType sh = new wsccee.SecurityHeaderType();
                wsccee.UsernameTokenType  tp = new wsccee.UsernameTokenType();
                tp.Username      = param.UsuarioAcesso;
                tp.Password      = param.SenhaAcesso;
                sh.UsernameToken = tp;

                // objeto a ser enviado;
                wsccee.ListarMedidaRequest req = new wsccee.ListarMedidaRequest();
                // para solicitar medição faltante;
                if (param.TipoMedicao == "F")
                {
                    wsccee.Medidor med = new wsccee.Medidor();
                    med.codigo              = param.CodigoMedidorCCEE;
                    req.medidor             = med;
                    req.tipoMedida          = wsccee.TipoMedida.FALTANTES;
                    req.tipoMedidaSpecified = true;
                }

                // para solicitar medição consolidada;
                if (param.TipoMedicao == "C")
                {
                    req.tipoMedida          = wsccee.TipoMedida.FINAL;
                    req.tipoMedidaSpecified = true;

                    //                    req.tipoMedicao = wsccee.TipoMedicao.COLETA;
                    //                    req.tipoMedicaoSpecified = true;

                    wsccee.PontoMedicao pmed = new wsccee.PontoMedicao();
                    pmed.codigo      = param.CodigoMedidorCCEE;
                    req.pontoMedicao = pmed;
                }

                // DEFINIÇÃO DO PERIODO PARA PESQUISAR OS DADOS;
                wsccee.Periodo per = new wsccee.Periodo();
                per.inicio          = param.PeriodoDataInicial;
                per.inicioSpecified = true;
                per.fim             = param.PeriodoDataFinal;
                per.fimSpecified    = true;
                req.periodo         = per;


                resposta = client.listarMedida(sh, ref hd, req);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(resposta);
        }