Пример #1
0
        public bool CanOpen(LivelloPassword minLevel, DBL.LinguaManager linguaMngr, bool force)
        {
            bool ok = false;

            if (Properties.Settings.Default.UsaPassword || force)
            {
                if (this.lastLivello != LivelloPassword.NN && swTempoLogin.ElapsedMilliseconds < Properties.Settings.Default.TempoPassword * 60 * 1000 && minLevel <= this.lastLivello)
                {
                    ok = minLevel <= this.lastLivello;
                }
                else
                {
                    FormPassword frmPsw = new FormPassword(linguaMngr);

                    if (frmPsw.ShowDialog() == DialogResult.OK)
                    {
                        bool pswTrovata = false;
                        bool livBasso   = true;

                        DataType.ConfigurazioneCorrente confObj = DataType.ConfigurazioneCorrente.Deserialize(Path.Combine(Properties.Settings.Default.DatiVisionePath, "ConfigurazioneCorrente.xml"));

                        string psw = frmPsw.GetPassword();

                        if (psw == confObj.PswCostruttore)
                        {
                            ok          = true;
                            lastLivello = LivelloPassword.Costruttore;
                            swTempoLogin.Restart();

                            pswTrovata = true;
                            livBasso   = false;
                        }

                        if (!ok && psw == confObj.PswTecnico)
                        {
                            if (minLevel <= LivelloPassword.Tecnico)
                            {
                                ok          = true;
                                lastLivello = LivelloPassword.Tecnico;
                                swTempoLogin.Restart();

                                livBasso = false;
                            }

                            pswTrovata = true;
                        }

                        if (!ok && psw == confObj.PswOperatore)
                        {
                            if (minLevel <= LivelloPassword.Operatore)
                            {
                                ok          = true;
                                lastLivello = LivelloPassword.Operatore;
                                swTempoLogin.Restart();

                                livBasso = false;
                            }

                            pswTrovata = true;
                        }

                        if (!pswTrovata)
                        {
                            MessageBox.Show(linguaMngr.GetTranslation("MSG_PSW_ERRATA"), linguaMngr.GetTranslation("MSG_ERRORE"), MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else if (livBasso)
                        {
                            MessageBox.Show(linguaMngr.GetTranslation("MSG_LIVELLO_PSW_BASSO"), linguaMngr.GetTranslation("MSG_ATTENZIONE"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                    }
                }
            }
            else
            {
                ok = true;
            }

            return(ok);
        }
Пример #2
0
 public bool CanOpen(LivelloPassword minLevel, DBL.LinguaManager linguaMngr)
 {
     return(CanOpen(minLevel, linguaMngr, false));
 }