Example #1
0
        /// <summary>
        ///Insere os registros da lista na tLeituraCodigo. Se não conseguir inserir um ou mais registros, desfaz a transação.
        ///O retorno é a estrutura nescessária para a atualização da black list.
        /// </summary>
        /// <param name="listaInserir"></param>
        /// <returns>Sucesso de todos os inserts</returns>
        public List <EstruturaBlackList> AtualizaControleDeAcessoBlackList(List <EstruturaLeituraCodigo> listaInserir, int eventoID, int apresentacaoID, int setorID, DateTime ultimaSincronizacao)
        {
            try
            {
                BD                        bd = new BD();
                StringBuilder             sql;
                List <EstruturaBlackList> retorno    = new List <EstruturaBlackList>();
                List <EstruturaBlackList> retornoAux = new List <EstruturaBlackList>();//usada para trazer os itens da tIngressoLog
                EstruturaBlackList        retornoItem;
                DateTime                  agora       = DateTime.Now;
                CodigoBarra               codigoBarra = new CodigoBarra();

                bd.IniciarTransacao();
                foreach (EstruturaLeituraCodigo registroAtual in listaInserir)
                {
                    sql = new StringBuilder();
                    sql.Append("INSERT INTO tLeituraCodigo(EventoID, ApresentacaoID, SetorID, DataLeitura, CodigoBarra, Portaria, CodigoResultado,Coletor) ");
                    sql.Append("VALUES (@001,@002,@003,'@004','@005','@006',@007,@008)");

                    sql.Replace("@001", registroAtual.EventoID.ToString());
                    sql.Replace("@002", registroAtual.ApresentacaoID.ToString());
                    sql.Replace("@003", registroAtual.SetorID.ToString());
                    sql.Replace("@004", registroAtual.DataLeitura.ToString("yyyyMMddHHmmss"));
                    sql.Replace("@005", registroAtual.CodigoBarra);
                    sql.Replace("@006", registroAtual.Portaria);
                    sql.Replace("@007", registroAtual.CodigoResultado.ToString());
                    sql.Replace("@008", registroAtual.Coletor.ToString());

                    bool ok = bd.Executar(sql.ToString()) == 1 ? true : false;
                    if (!ok)//Não conseguiu inserir, desfaz a transação
                    {
                        bd.DesfazerTransacao();
                        return(retorno);//devolve a lista vazia
                    }
                }


                string filtroSetor = " AND SetorID= " + setorID;
                if (setorID == 0)//todos os setores
                {
                    filtroSetor = " ";
                }
                //Primeiro traz os itens inseridos na tLeituraCodigo depois da ultima atualização
                bd.Comando = "";
                bd.Consulta(@"SELECT DataLeitura, CodigoBarra, Portaria, CodigoResultado, Coletor
                            FROM tLeituraCodigo(NOLOCK) WHERE EventoID =" + eventoID + " AND ApresentacaoID =" + apresentacaoID + filtroSetor + " AND DataLeitura > '" + ultimaSincronizacao.ToString("yyyyMMddHHmmss") + "'");
                while (bd.Consulta().Read())
                {
                    retornoItem = new EstruturaBlackList();
                    retornoItem.ApresentacaoID        = apresentacaoID;
                    retornoItem.CodigoBarra           = bd.LerString("CodigoBarra");
                    retornoItem.ColetorNumero         = bd.LerInt("Coletor");
                    retornoItem.DataHoraInclusao      = bd.LerDateTime("DataLeitura");
                    retornoItem.DataHoraSincronizacao = agora;
                    retornoItem.EventoID = eventoID;
                    retornoItem.Motivo   = (LeituraCodigo.CodigoResposta)bd.LerInt("CodigoResultado");
                    retornoItem.Portaria = bd.LerString("Portaria");
                    retornoItem.SetorID  = setorID;
                    retorno.Add(retornoItem);
                }
                bd.Consulta().Close();
                retornoAux = codigoBarra.BlackList(eventoID, apresentacaoID, setorID, ultimaSincronizacao);
                bd.FinalizarTransacao();
                foreach (EstruturaBlackList item in retornoAux)
                {
                    retorno.Add(item);
                }


                return(retorno);
            }
            catch
            {
                bd.DesfazerTransacao();
                throw;
            }
            finally
            {
                bd.Fechar();
            }
        }
Example #2
0
        public DataTable InserirTxt(int eventoID, int apresentacaoID, int setorID, string[] linhas)
        {
            BD bd = new BD();

            bd.IniciarTransacao();

            DataTable oDataTable = new DataTable("Codigos");

            oDataTable.Columns.Add("CodigosEncontrados", typeof(int));
            oDataTable.Columns.Add("CodigosNaoEncontrados", typeof(int));
            DataRow linhaTable = oDataTable.NewRow();

            linhaTable["CodigosEncontrados"]    = 0;
            linhaTable["CodigosNaoEncontrados"] = 0;

            CodigoBarra oCodigoBarra = new CodigoBarra();

            try
            {
                //varre as linhas do txt
                foreach (string linha in linhas)
                {
                    if (linha.Trim() == string.Empty)
                    {
                        continue;
                    }

                    //separa os itens em variáveis
                    string[] parameters   = linha.Split(',');
                    string   codigoBarra  = parameters[0].Trim();
                    string   dataLeitura  = parameters[1].Trim();
                    string   portaria     = parameters[2].Trim();
                    string   entradaSaida = parameters[3].Trim();
                    LeituraCodigo.CodigoResposta oCodigoResposta = (LeituraCodigo.CodigoResposta) int.Parse(parameters[4]);

                    //grava no banco, usando a transação
                    LeituraCodigo oLeituraCodigo = new LeituraCodigo();
                    oLeituraCodigo.EventoID.Valor        = eventoID;
                    oLeituraCodigo.ApresentacaoID.Valor  = apresentacaoID;
                    oLeituraCodigo.SetorID.Valor         = setorID;
                    oLeituraCodigo.DataLeitura.Valor     = DateTime.ParseExact(dataLeitura, "yyyyMMddHHmmss", null);
                    oLeituraCodigo.CodigoResultado.Valor = (int)oCodigoResposta;
                    oLeituraCodigo.CodigoBarra.Valor     = codigoBarra;
                    oLeituraCodigo.Portaria.Valor        = portaria;
                    oLeituraCodigo.Inserir(bd);

                    //verifica se o código existe, para posterior relatório
                    if (oCodigoBarra.ExisteLog(codigoBarra))
                    {
                        linhaTable["CodigosEncontrados"] = (int)linhaTable["CodigosEncontrados"] + 1;
                    }
                    else
                    {
                        linhaTable["CodigosNaoEncontrados"] = (int)linhaTable["CodigosNaoEncontrados"] + 1;
                    }
                }

                oDataTable.Rows.Add(linhaTable);
                bd.FinalizarTransacao();
                return(oDataTable);
            }
            catch (Exception ex)
            {
                bd.DesfazerTransacao();
                throw ex;
            }
            finally
            {
                bd.Fechar();
            }
        }
Example #3
0
 // passar o Usuario logado no sistema
 public CodigoBarraLista_B(int usuarioIDLogado)
 {
     codigoBarra = new CodigoBarra(usuarioIDLogado);
 }
Example #4
0
 // passar o Usuario logado no sistema
 public CodigoBarraLista_B()
 {
     codigoBarra = new CodigoBarra();
 }
 void ICodigoBarraRepositorio.Remover(CodigoBarra obj) =>
 DbSet.Remove(obj);
 public virtual async Task Inserir(CodigoBarra obj) =>
 await DbSet.AddAsync(obj);
        public CodigoBarra Remover(CodigoBarra obj)
        {
            _codigoBarraRepositorio.Remover(obj);

            return(obj);
        }