예제 #1
0
        public void VerificaDataExpiracao()
        {
            try
            {
                using (Context ct = new Context())
                {
                    Cryptografia cryptografia = new Cryptografia();

                    var      result    = (from p in ct.EmpresaQuingrax select p.Chave).FirstOrDefault();
                    var      chave     = cryptografia.Crypto(result.ToString(), true);
                    DateTime limeteUso = Convert.ToDateTime(cryptografia.Crypto(chave.ToString(), false));

                    if (Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")) > limeteUso)
                    {
                        FrmContato frmContato = new FrmContato();
                        frmContato.Mensagem      = "Permissão de uso expirou!";
                        frmContato.Detalhes      = "A data limite de uso do sistema expirou! Você pode escolher uma das opções abaixo para voltar a utilizar o sistema!";
                        frmContato.ShowInTaskbar = false;
                        frmContato.ShowDialog();

                        if (!frmContato.Autenticou)
                        {
                            Application.Exit();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #2
0
        private void btnAcessar_Click(object sender, EventArgs e)
        {
            try
            {
                if (Login())
                {
                    if (chkLembreMe.Checked)
                    {
                        string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                        if (!Directory.Exists(path + "\\PDV"))
                        {
                            Directory.CreateDirectory(path + "\\PDV");
                        }

                        StreamWriter objEscreve = new StreamWriter(path + "\\PDV" + "\\credenciais.xml");

                        objEscreve.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
                        objEscreve.WriteLine("<useroptions>");
                        objEscreve.WriteLine("<user>{0}</user>", txtUsuario.Text);
                        objEscreve.WriteLine("<idmode>{0}</idmode>", Cryptografia.MD5(Environment.MachineName.ToString()));

                        Cryptografia cryptografia = new Cryptografia();
                        objEscreve.WriteLine(string.Format("<pass>{0}</pass>", cryptografia.Crypto(txtSenha.Text, true)));

                        objEscreve.WriteLine("</useroptions>");
                        objEscreve.Flush();
                        objEscreve.Close();
                    }

                    txtUsuario.Clear();
                    txtSenha.Clear();
                    txtUsuario.Focus();
                    logou = true;
                    this.Close();
                }
                else
                {
                    if (usuarioInativo.Equals(false))
                    {
                        MessageBox.Show("Usuário ou senha inválidos!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txtUsuario.SelectAll();
                        txtUsuario.Focus();
                        txtSenha.Clear();
                    }
                    else
                    {
                        txtUsuario.Focus();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocorreu um erro ao tentar gravar as credenciais do usuário : " + ex.Message, "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
예제 #3
0
        private void FrmLogin_Load(object sender, EventArgs e)
        {
            if (!ExisteUsuario())
            {
                MessageBox.Show("É necessário criar seu Usuário de login.\n\nO sistema será fechado para sua segurança, tente novamente!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Application.Exit();
            }

            string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\PDV";

            if (File.Exists(path + "\\credenciais.xml") && !_Bloqueio)
            {
                chkLembreMe.Visible = false;
                try
                {
                    XElement root = XElement.Load(path + "\\credenciais.xml");

                    string idMode = (string)root.Element("idmode");

                    if (Cryptografia.MD5(Environment.MachineName.ToString()) != idMode)
                    {
                        MessageBox.Show("Você está tentando acessar com credenciais de outra pessoa, será gravado em log seu usuário e a conta de quem você está tentando acessar!", "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Application.Exit();
                    }

                    txtUsuario.Text = (string)root.Element("user");

                    Cryptografia objCrypto = new Cryptografia();
                    txtSenha.Text = objCrypto.Crypto((string)root.Element("pass"), false);

                    btnAcessar_Click(sender, e);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ocorreu um erro ao tentar carregar as credenciais do usuário!\n\nDetalhe técnico : " + ex.Message, "Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
예제 #4
0
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (ValidaCampos())
            {
                GravaParametroIniciais();
            }

            try
            {
                using (Context ct = new Context())
                {
                    Cryptografia cryptografia = new Cryptografia();

                    var result = (from p in ct.ConfiguracoesIniciais select p).FirstOrDefault();

                    ct.ConfiguracoesIniciais.Add(new ConfiguracoesIniciais
                    {
                        DataSource = txtDataSource.Text,
                        Banco      = txtBanco.Text,
                        Usuario    = cryptografia.Crypto(txtUsuario.Text, true),
                        Senha      = cryptografia.Crypto(txtSenha.Text, true)
                    });

                    ct.SaveChanges();
                    MessageBox.Show("Configurações cadastradas com sucesso!", "Aviso do sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);


                    FrmLogin frmLogin = new FrmLogin();
                    this.Hide();
                    frmLogin.Closed += (s, args) => this.Close();
                    frmLogin.Show();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro!\n\n" + ex.Message.ToString(), "Aviso do sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #5
0
        public void GravaParametroIniciais()
        {
            try
            {
                Cryptografia cryptografia = new Cryptografia();
                RegistryKey  registryKey  = Registry.CurrentUser.OpenSubKey("SOFTWARE", true);

                if ((registryKey != null))
                {
                    registryKey = registryKey.CreateSubKey("ConfiguracoesIniciais");

                    registryKey.SetValue("DataSource", txtDataSource.Text);
                    registryKey.SetValue("Banco", txtBanco.Text);
                    registryKey.SetValue("Usuario ", cryptografia.Crypto(txtUsuario.Text, true));
                    registryKey.SetValue("Senha ", cryptografia.Crypto(txtSenha.Text, true));

                    registryKey.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro no gravação do Registro: " + ex.Message);
            }
        }