示例#1
0
        public bool LicencaEhValida(out string strLicensa, out DateTime dteValidade)
        {
            bool    blnValidaLicenca = false;
            Licenca l = new Licenca();
            List <ItemDaLicenca> lista   = new List <ItemDaLicenca>();
            List <ModuloSistema> listaMS = new List <ModuloSistema>();
            clsHash clsh = new clsHash(SHA512.Create());
            string  strChaveAutenticada = "";
            string  strMarcados         = "";

            dteValidade = DateTime.Today;
            strLicensa  = "";

            l = PesquisarLicenca(0);

            if (l != null)
            {
                strLicensa = l.CodigoDoCliente.ToString() + " - " + l.NomeDoCliente;

                lista = PesquisarItemLicenca(l.CodigoDaLicenca);

                foreach (var itm in lista)
                {
                    if (itm.DataDeValidade >= Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy 00:00:00")))
                    {
                        listaMS = ListarModulosSistemaPelaLicenca(itm.CodigoDoItem);

                        foreach (ModuloSistema itm2 in listaMS)
                        {
                            if (itm2.Liberar == true)
                            {
                                if (strMarcados.Equals(""))
                                {
                                    strMarcados = itm2.CodigoModulo.ToString();
                                }
                                else
                                {
                                    strMarcados = strMarcados + ", " + itm2.CodigoModulo.ToString();
                                }
                            }
                        }
                        strChaveAutenticada = clsh.CriptografarSenha(l.CodigoDaLicenca.ToString() + itm.Guid.ToLower() + strMarcados);
                        if (strChaveAutenticada == itm.ChaveDeAutenticacao)
                        {
                            dteValidade      = itm.DataDeValidade;
                            blnValidaLicenca = true;
                        }
                    }
                }
            }

            return(blnValidaLicenca);
        }
示例#2
0
        public Usuario PesquisarLogin(string Login, string Senha, out Boolean LoginOK)
        {
            LoginOK = false;

            try
            {
                AbrirConexao();
                strSQL = "Select * from [Usuario] Where LOGIN = @v1";
                Cmd    = new SqlCommand(strSQL, Con);
                Cmd.Parameters.AddWithValue("@v1", Login);

                Dr = Cmd.ExecuteReader();

                Usuario p = new Usuario();

                if (Dr.Read())
                {
                    p = new Usuario();

                    p.CodigoUsuario  = Convert.ToInt32(Dr["CD_Usuario"]);
                    p.NomeUsuario    = Convert.ToString(Dr["NM_COMPLETO"]);
                    p.Login          = Convert.ToString(Dr["LOGIN"]);
                    p.Senha          = Convert.ToString(Dr["SENHA"]);
                    p.GUID           = Convert.ToString(Dr["TX_GUID"]);
                    p.CodigoPerfil   = Convert.ToInt32(Dr["CD_PFL_Usuario"]);
                    p.CodigoSituacao = Convert.ToInt32(Dr["CD_SITUACAO"]);
                    p.CodigoPessoa   = Convert.ToInt32(Dr["CD_PESSOA"]);
                    p.ResetarSenha   = Convert.ToString(Dr["PW_RESET"]);
                    p.CodigoCargo    = Convert.ToInt32(Dr["CD_CARGO"]);
                }

                clsHash clsh          = new clsHash(SHA512.Create());
                string  strTesteSenha = clsh.CriptografarSenha(Senha);

                if (p != null)
                {
                    if (p.Senha == strTesteSenha)
                    {
                        LoginOK = true;
                    }
                }

                return(p);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Pesquisar Usuario: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
示例#3
0
        public void InserirLicenca(ItemDaLicenca p, string strMarcados)
        {
            Guid g;

            // Create and display the value of two GUIDs.
            g = Guid.NewGuid();

            try
            {
                AbrirConexao();
                Cmd = new SqlCommand("insert into LICENCA_DE_USO_ITEM (CD_LICENCA, DT_VALIDADE, CH_AUTENTICACAO, TX_GUID) values (@v1,@v2,@v3,@v4); SELECT SCOPE_IDENTITY()", Con);
                Cmd.Parameters.AddWithValue("@v1", p.CodigoDaLicenca);
                Cmd.Parameters.AddWithValue("@v2", p.DataDeValidade);
                Cmd.Parameters.AddWithValue("@v4", g);
                clsHash clsh  = new clsHash(SHA512.Create());
                string  teste = clsh.CriptografarSenha(p.CodigoDaLicenca.ToString() + g + strMarcados);
                Cmd.Parameters.AddWithValue("@v3", teste);
                //                Cmd.ExecuteNonQuery();
                p.CodigoDoItem = Convert.ToInt64(Cmd.ExecuteScalar());
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao gravar Item da Licença: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar Licença: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }