示例#1
0
        private List <Guid> PopulateApiKeys()
        {
            //var listaApis = new List<Guid>();
            //HttpContext.Current.Cache[APIKEYLIST] = listaApis;
            //return listaApis;

            List <Guid> listaApis;

            using (var tmp = new DbContextIfElse(_utility.DevolveCOnnectionStringIf().ProviderConnectionString))
            {
                listaApis = (from t in tmp.Terminais
                             select t.AccessKey).ToList();
            }
            HttpContext.Current.Cache[APIKEYLIST] = listaApis;
            return(listaApis);
        }
示例#2
0
        private List <Guid> PopulateApiKeys()
        {
            //implementar pedido a cache
            var listaApis = (List <Guid>)Cache.Get("APIKeyList");

            if (listaApis == null)
            {
                using (var tmp = new DbContextIfElse(_utility.DevolveCOnnectionStringIf().ProviderConnectionString))
                {
                    listaApis = (from t in tmp.DadosTerminais
                                 select t.TerminalAccessKey).ToList();
                }
            }

            Cache.Add("APIKeyList", listaApis, new TimeSpan(0, 3, 0, 0));
            return(listaApis);
        }
示例#3
0
        private AcesskeyData WorkerGetKeyClient(object state)
        {
            var resultado = new AcesskeyData();

            try
            {
                if ((!string.IsNullOrEmpty(_valueMacG)) || (!string.IsNullOrEmpty(_valueMacW)))
                {
                    using (var tmpConn = new DbContextIfElse(_utility.DevolveCOnnectionStringIf().ProviderConnectionString))
                    {
                        try
                        {
                            tmpConn.Configuration.AutoDetectChangesEnabled = false;

                            Terminais tmptbterminals;
                            if ((!string.IsNullOrEmpty(_valueMacW)) && (!string.IsNullOrEmpty(_valueMacG)))
                            {
                                tmptbterminals = (from t in tmpConn.DadosTerminais
                                                  where t.MacAddress3G == _valueMacG && t.MacAddressWireless == _valueMacW
                                                  select t).SingleOrDefault();
                            }
                            else
                            {
                                tmptbterminals = (string.IsNullOrEmpty(_valueMacG)) &&
                                                 (!string.IsNullOrEmpty(_valueMacW))
                                                     ? (from t in tmpConn.DadosTerminais
                                                        where t.MacAddressWireless == _valueMacW
                                                        select t).SingleOrDefault()
                                                     : (from t in tmpConn.DadosTerminais
                                                        where t.MacAddress3G == _valueMacG
                                                        select t).SingleOrDefault();
                            }


                            if (tmptbterminals != null)
                            {
                                resultado = _utility.SerializeAccessKey(tmptbterminals.TerminalAccessKey.ToString());
                            }
                            else
                            {
                                resultado.DataAccessKey = "NO DATA";
                            }
                        }
                        finally
                        {
                            tmpConn.Configuration.AutoDetectChangesEnabled = true;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                if (e.InnerException == null)
                {
                    _logManager.WriteError(1200,
                                           "Erro ao obter a chave de acesso do terminal,ocorreu o seguinte erro:" +
                                           e.Source + " \n" + e.Message);
                }
                else
                {
                    _logManager.WriteError(1200,
                                           "Erro ao obter a chave de acesso do terminal,ocorreu o seguinte erro:" +
                                           e.Source + " \n" + e.InnerException);
                }

                throw new FaultException <ConnectorServiceFault>(new ConnectorServiceFault
                {
                    DataDetails = "Nao foi possivel obter a chave de acesso do terminal por favor volte a tentar mais tarde",
                    DataMessage = "Ocorreu um erro ao obter a chave para o terminal"
                });
            }
            return(resultado);
        }
示例#4
0
        private ConfiguracaoTerminal WorkerDevolveDefinicoes(object state)
        {
            var resultado = new ConfiguracaoTerminal();

            try
            {
                if ((!string.IsNullOrEmpty(_valueMacG)) || (!string.IsNullOrEmpty(_valueMacW)))
                {
                    //var tmpConnStr=_utility.DevolveCOnnectionStringIf().ConnectionString;
                    using (var tmpConn = new DbContextIfElse(_utility.DevolveCOnnectionStringIf().ProviderConnectionString))
                    {
                        try
                        {
                            tmpConn.Configuration.AutoDetectChangesEnabled = false;


                            Terminais tmptbterminals;
                            if ((!string.IsNullOrEmpty(_valueMacW)) && (!string.IsNullOrEmpty(_valueMacG)))
                            {
                                tmptbterminals = (from t in tmpConn.DadosTerminais
                                                  where t.MacAddress3G == _valueMacG && t.MacAddressWireless == _valueMacW
                                                  select t).SingleOrDefault();
                            }
                            else
                            {
                                tmptbterminals = (string.IsNullOrEmpty(_valueMacG)) &&
                                                 (!string.IsNullOrEmpty(_valueMacW))
                                                     ? (from t in tmpConn.DadosTerminais
                                                        where t.MacAddressWireless == _valueMacW
                                                        select t).SingleOrDefault()
                                                     : (from t in tmpConn.DadosTerminais
                                                        where t.MacAddress3G == _valueMacG
                                                        select t).SingleOrDefault();
                            }

                            OpcoesTerminais tmpOp;
                            if (tmptbterminals != null)
                            {
                                tmpOp = (from t in tmpConn.DadosOpcoesTerminais
                                         where t.ID == tmptbterminals.FkIdot
                                         select t).SingleOrDefault();
                            }
                            else
                            {
                                throw new FaultException <ConnectorServiceFault>(new ConnectorServiceFault
                                {
                                    DataMessage = "Nao existem dados para transferir",
                                    DataDetails = "Erro ao obter os dados para o terminal"
                                });
                            }

                            resultado = _utility.SerializeConfigTerminal(tmptbterminals, tmpOp);

                            //resultado = tmptbterminals == null ? "Sem valores encontrados" : _utility.SerializeConfigTerminal(tmptbterminals, tmpOp);
                        }
                        finally
                        {
                            tmpConn.Configuration.AutoDetectChangesEnabled = true;
                        }
                    }
                }
                return(resultado);
            }
            catch (Exception e)
            {
                if (e.InnerException == null)
                {
                    _logManager.WriteError(1200, "Erro ao obter as definicoes do terminal,ocorreu o seguinte erro:" + e.Source + " \n" + e.Message);
                }
                else
                {
                    _logManager.WriteError(1200, "Erro ao obter as definicoes do terminal,ocorreu o seguinte erro:" + e.Source + " \n" + e.InnerException);
                }

                throw new FaultException <ConnectorServiceFault>(new ConnectorServiceFault
                {
                    DataDetails = "Nao foi possivel obter as definicoes do terminal por favor volte a tentar mais tarde",
                    DataMessage = "Ocorreu um erro ao obter a informacao do terminal"
                });
            }
        }