private void simpleButtonLogon_Click(object sender, EventArgs e)
        {
            using (UnitOfWork uow = new UnitOfWork())
            {
                if (this.textEditNome.Properties.ReadOnly)
                {
                    string user   = String.Format(@"{0}\{1}", Environment.UserDomainName, Environment.UserName);
                    Utente utente = uow.FindObject <Utente>(new BinaryOperator("AdUsername", user));
                    if (utente != null)
                    {
                        utente.LastLogonTry   = DateTime.Now;
                        utente.LastLogon      = DateTime.Now;
                        utente.ErroriPassword = 0;
                        utente.Save();

                        // ok
                        Settings.Default.LastUserName = this.textEditNome.Text;
                        Settings.Default.Save();

                        Program.UtenteCollegato = utente;

                        MuseiBase.CurrentUser = utente;

                        WsConfig.Username = utente.Username;
                        WsConfig.Password = utente.Password;

                        DialogResult = DialogResult.OK;
                    }
                    else
                    {
                        // nome utente non trovato
                        XtraMessageBox.Show("Utente non trovato !", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    Utente utente = uow.FindObject <Utente>(new BinaryOperator("Username", this.textEditNome.Text));
                    if (utente != null)
                    {
                        if (utente.Bloccato(DateTime.Now))
                        {
                            // utente bloccato
                            if (utente.ErroriPassword < 10)
                            {
                                XtraMessageBox.Show("Troppi errori sulla password. Riprova fra 10 minuti.", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            else
                            {
                                XtraMessageBox.Show("Troppi errori sulla password. Utente BLOCCATO !", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }

                            utente.LastLogonTry = DateTime.Now;
                            utente.Save();
                        }
                        else
                        {
                            if (utente.Password == this.textEditPassword.Text)
                            {
                                utente.LastLogonTry   = DateTime.Now;
                                utente.LastLogon      = DateTime.Now;
                                utente.ErroriPassword = 0;
                                utente.Save();

                                // ok
                                Settings.Default.LastUserName = this.textEditNome.Text;
                                Settings.Default.Save();

                                Program.UtenteCollegato = utente;

                                MuseiBase.CurrentUser = utente;

                                WsConfig.Username = utente.Username;
                                WsConfig.Password = utente.Password;

                                DialogResult = DialogResult.OK;
                            }
                            else
                            {
                                // password errata
                                XtraMessageBox.Show("Password errata !", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);

                                utente.LastLogonTry = DateTime.Now;
                                utente.ErroriPassword++;
                                utente.Save();
                            }
                        }
                    }
                    else
                    {
                        // nome utente non trovato
                        XtraMessageBox.Show("Nome utente non trovato !", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                uow.CommitChanges();
            }
        }