コード例 #1
0
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            MailServerConfigFacade mailServerConfigFacade = MailServerConfigFacade.GetInstance();
            MailServer             m = mailServerConfigFacade.LoadServerConfigById(decimal.Parse(ddlServer.SelectedValue));
            MailUser account         = new MailUser(m);

            account.Password     = txtPassword.Text;
            account.LoginId      = txtName.Text;
            account.EmailAddress = txtName.Text;
            account.Dominus      = hidDominus.Value;
            account.Casella      = string.Empty;
            try
            {
                IList <MailUser> ctrlAccount = mailServerConfigFacade.GetUserByServerAndUsername(account.Id, account.LoginId);
                if (ctrlAccount != null)
                {
                    if (ctrlAccount.Where(acc => acc.LoginId.Equals(account.LoginId) && (acc.Id == m.Id) && acc.IsManaged).Count() != 0)
                    {
                        ((BasePage)this.Page).info.AddError("Questo account è gestito applicativamente. Impossibile effetuare il login da applicazione");
                        return;
                    }
                }

                SetAccount(account);
                OnStatusChanged();
            }
            catch (ManagedException bex)
            {
                if (bex.GetType() != typeof(ManagedException))
                {
                    ManagedException mEx = new ManagedException(bex.Message, "ERR_G044", string.Empty, string.Empty, bex);
                    ErrorLogInfo     er  = new ErrorLogInfo(mEx);
                    log.Error(er);
                }
                ((BasePage)this.Page).info.AddError("Connessione al mail server impossibile, controllare le credenziali");
            }
        }