Ejemplo n.º 1
0
        protected void btnSaveChanges_Click(object sender, System.EventArgs e)
        {
            BrokerDB brokerDB = new BrokerDB();

            AuthorizationWrapperClass wrapper = new AuthorizationWrapperClass();

            if(txtNewPassword.Text.CompareTo(txtConfirmPassword.Text) != 0 )
            {
                lblResponse.Text = Utilities.FormatErrorMessage("Password fields don't match. Try again!");
                lblResponse.Visible = true;
                txtNewPassword.Text = null;
                txtConfirmPassword.Text = null;
            }
            else
            {
                //if a field is left blank, it is not updated
                try
                {
                    User userInfo = wrapper.GetUsersWrapper(new int[] {Convert.ToInt32(Session["UserID"])})[0];
                    Authority auth = brokerDB.AuthorityRetrieve(userInfo.authID);
                    if (txtUsername.Text.Trim()=="")
                    {
                        txtUsername.Text = userInfo.userName;
                    }
                    if(txtFirstName.Text.Trim() == "")
                    {
                        txtFirstName.Text = userInfo.firstName ;
                    }
                    if(txtLastName.Text.Trim() == "")
                    {
                        txtLastName.Text = userInfo.lastName ;
                    }
                    if(txtEmail.Text.Trim() == "")
                    {
                        txtEmail.Text = userInfo.email ;
                    }

                    if (userInfo.reason==null)
                        userInfo.reason = "";
                    if (userInfo.affiliation==null)
                        userInfo.affiliation="";
                    if (userInfo.xmlExtension==null)
                        userInfo.xmlExtension="";

                    wrapper.ModifyUserWrapper (userInfo.userID,txtUsername.Text,auth.authorityID,auth.authTypeID,
                        txtFirstName.Text , txtLastName.Text , txtEmail.Text ,userInfo.affiliation, userInfo.reason,
                        userInfo.xmlExtension,userInfo.lockAccount );
                    lblResponse.Text = Utilities.FormatConfirmationMessage("User \"" + txtUsername.Text  + "\" information has been updated.");
                    lblResponse.Visible = true;
                    if (auth.authTypeID == (int) AuthenticationType.AuthTypeID.Native)
                    {
                        if (txtNewPassword.Text != "")
                        {
                            wrapper.SetNativePasswordWrapper(Convert.ToInt32(Session["UserID"]), txtNewPassword.Text);
                        }
                    }
                    if (txtUsername.Text.CompareTo(Session["UserName"].ToString())!= 0)
                        Session["UserName"]= txtUsername.Text;

                    // Send a confirmation message to the user
                    string email;
                    if(txtEmail.Text.Trim() == "")
                    {
                        // use old email if it wasn't changed, new if it was
                        email = userInfo.email;
                    }
                    else
                    {
                        email = txtEmail.Text.Trim();
                    }
                    if (email != null && email.Length > 0)
                    {
                        MailMessage mail = new MailMessage();
                        mail.From = registrationMailAddress;
                        mail.To = email;
                        mail.Subject = "[iLabs] Service Broker Account Update Confirmation";
                        mail.Body = "Your Service Broker account has been updated to the following:\n\r";
                        mail.Body += "-------------------------------------------------------------\n\r\n\r";
                        mail.Body += "User Name: " + txtUsername.Text + "\n\r";
                        mail.Body += "First Name: " + txtFirstName.Text + "\n\r";
                        mail.Body += "Last Name: " + txtLastName.Text + "\n\r";
                        mail.Body += "Email: " + txtEmail.Text + "\n\r\n\r";
                        mail.Body += "For security reasons, your password has not been included in this message." + "\n\r";

                        SmtpMail.SmtpServer = "127.0.0.1";
                        try
                        {
                            SmtpMail.Send(mail);
                        }
                        catch(Exception e2)
                        {
                            // if the confirmation message fails, c'est la vie...
                            string msg = "Error sending email notification: (" + e2.Message + ". " + e2.GetBaseException() + "). Contact " + supportMailAddress + ".";
                            lblResponse.Text = Utilities.FormatErrorMessage(msg);
                            lblResponse.Visible = true;

                        }
                    }
                }
                catch (Exception ex)
                {
                    string msg = "Error updating account ("+ex.Message+". "+ex.GetBaseException()+"). Contact " + supportMailAddress + ".";
                    lblResponse.Text = Utilities.FormatErrorMessage(msg);
                    lblResponse.Visible = true;
                }
            }
        }
        //---------------------------------------------------------------------------------------//
        protected void btnSave_Click(object sender, EventArgs e)
        {
            AuthorizationWrapperClass wrapper = new AuthorizationWrapperClass();

            if (txtNewPassword.Text.CompareTo(txtConfirmPassword.Text) != 0)
            {
                lblResponse.Text = Utilities.FormatErrorMessage("Password fields don't match. Try again!");
                lblResponse.Visible = true;
                txtNewPassword.Text = null;
                txtConfirmPassword.Text = null;
            }
            else
            {
                //if a field is left blank, it is not updated
                try
                {
                    User userInfo = wrapper.GetUsersWrapper(new int[] { Convert.ToInt32(Session["UserID"]) })[0];

                    if (txtUsername.Text.Trim() == "")
                    {
                        txtUsername.Text = userInfo.userName;
                    }
                    if (txtFirstName.Text.Trim() == "")
                    {
                        txtFirstName.Text = userInfo.firstName;
                    }
                    if (txtLastName.Text.Trim() == "")
                    {
                        txtLastName.Text = userInfo.lastName;
                    }
                    if (txtEmail.Text.Trim() == "")
                    {
                        txtEmail.Text = userInfo.email;
                    }

                    if (userInfo.reason == null)
                        userInfo.reason = "";
                    if (userInfo.affiliation == null)
                        userInfo.affiliation = "";
                    if (userInfo.xmlExtension == null)
                        userInfo.xmlExtension = "";

                    wrapper.ModifyUserWrapper(userInfo.userID, txtUsername.Text, txtUsername.Text, AuthenticationType.NativeAuthentication, txtFirstName.Text, txtLastName.Text, txtEmail.Text, userInfo.affiliation, userInfo.reason, userInfo.xmlExtension, userInfo.lockAccount);
                    lblResponse.Text = Utilities.FormatConfirmationMessage("User \"" + txtUsername.Text + "\" information has been updated.");
                    lblResponse.Visible = true;
                    if (txtNewPassword.Text != "")
                    {
                        wrapper.SetNativePasswordWrapper(Convert.ToInt32(Session["UserID"]), txtNewPassword.Text);
                    }

                    if (txtUsername.Text.CompareTo(Session["UserName"].ToString()) != 0)
                        Session["UserName"] = txtUsername.Text;

                    // Send a confirmation message to the user
                    string email;
                    if (txtEmail.Text.Trim() == "")
                    {
                        // use old email if it wasn't changed, new if it was
                        email = userInfo.email;
                    }
                    else
                    {
                        email = txtEmail.Text.Trim();
                    }

                    //
                    // Email account update confirmation
                    //
                    string subject = "[" + this.serviceBrokerName + "] Account Update Confirmation";

                    StringWriter message = new StringWriter();
                    message.WriteLine("Your ServiceBroker account has been updated to the following:");
                    message.WriteLine("------------------------------------------------------------");
                    message.WriteLine();
                    message.WriteLine("User Name:     " + txtUsername.Text);
                    message.WriteLine("First Name:    " + txtFirstName.Text);
                    message.WriteLine("Last Name:     " + txtLastName.Text);
                    message.WriteLine("Email Address: " + txtEmail.Text);
                    message.WriteLine();
                    message.WriteLine("For security reasons, your password has not been included in this message.");

                    string body = message.ToString();
                    string from = registrationMailAddress;
                    string to = email;
                    MailMessage mailMessage = new MailMessage(from, to, subject, body);
                    SmtpClient smtpClient = new SmtpClient(Consts.STR_LocalhostIP);

                    try
                    {
                        smtpClient.Send(mailMessage);
                    }
                    catch
                    {
                        // if the confirmation message fails, c'est la vie...
                    }
                }
                catch (Exception ex)
                {
                    string msg = "Error updating account (" + ex.Message + ". " + ex.GetBaseException() + "). Contact " + supportMailAddress + ".";
                    lblResponse.Text = Utilities.FormatErrorMessage(msg);
                    lblResponse.Visible = true;
                }
            }
        }