/// <summary>
        /// Carica ed effettua il login del nuovo utente
        /// </summary>
        /// <param name="utente">Nome utente</param>
        /// <param name="nomeUtente">Password</param>
        private void CaricaDatiUtente(string nomeUtente, string password)
        {
            using (Man_Ana_UTETableAdapter adapter = new Man_Ana_UTETableAdapter())
            {
                using (Fastener.DataSet.dsUTE.Man_Ana_UTEDataTable user = adapter.GetDataByNomeUtente(nomeUtente))
                {
                    if (user.Rows.Count <= 0)
                    {
                        throw new UtenteNotFoundException(nomeUtente);
                    }
                    else
                    {
                        DataSet.dsUTE.Man_Ana_UTERow row = user[0];

                        if (Utility.CheckNULL(row.UTEPassword, string.Empty).ToString().Trim() != password)
                        {
                            throw new UtenteInvalidPasswordException();
                        }
                        else
                        {
                            key             = Convert.ToInt32(Utility.CheckNULL(row.UTEKey, -1).ToString());
                            login           = Utility.CheckNULL(row.UTELogin, string.Empty).ToString();
                            nomeNelDominio  = Utility.CheckNULL(row.UTEDomainName, string.Empty).ToString();
                            nome            = Utility.CheckNULL(row.UTEName, string.Empty).ToString();
                            categoria       = Convert.ToInt32(Utility.CheckNULL(row.TipoUteKey, -1).ToString());
                            lingua          = Convert.ToInt32(Utility.CheckNULL(row.LANKey, 1).ToString());
                            azienda         = Convert.ToInt32(Utility.CheckNULL(row.AZIKey, 1).ToString());
                            default_reparto = Convert.ToInt32(Utility.CheckNULL(row.DefRepKey, 1).ToString());
                            ute_Type_CA     = row.IsTipoUteCA_KeyNull() ? (int)Utility.LoginType_CA.Unknown : row.TipoUteCA_Key;
                            cdr_CA          = row.IsCDRKeyNull() ? "UNK" : row.CDRKey;

                            const string kDefaultPasswordHash = "baaab6fa3b287456d2ff691027920826";
                            if (kDefaultPasswordHash == password)
                            {
                                Program.state_ = Program.PROGRAM_STATE.PASSWORD_CHANGE;
                            }
                            else
                            {
                                Program.state_ = Program.PROGRAM_STATE.MAIN_APPLICATION;
                            }

                            LoadProperties(key);
                        }
                    }
                }
            }
        }