Esempio n. 1
0
        protected void SaveDataButton_Click(object sender, EventArgs e)
        {
            var db            = new ProjMDbContext();
            var currentUserId = User.Identity.GetUserId();
            var currentUser   = db.Users.FirstOrDefault(x => x.Id == currentUserId);

            if (SaveDataButton.Text == "Save changes")
            {
                currentUser.Name                  = UserNameTb.Text;
                currentUser.Phone                 = PhoneNumberTb.Text;
                currentUser.Experience            = ExperienceTextArea.Value;
                currentUser.DeveloperSpecialityId = int.Parse(DevSpecDdl.SelectedValue);

                foreach (ListItem item in LanguagesCbl.Items)
                {
                    if (item.Selected)
                    {
                        currentUser.ProgrammingLanguages
                        .Add(db.ProgrammingLanguages
                             .Find(int.Parse(item.Value)));
                    }
                    if (!item.Selected)
                    {
                        currentUser.ProgrammingLanguages
                        .Remove(db.ProgrammingLanguages
                                .Find(int.Parse(item.Value)));
                    }
                }
                db.SaveChanges();

                UserNameTb.Enabled          = false;
                PhoneNumberTb.Enabled       = false;
                ExperienceTextArea.Disabled = true;
                DevSpecDdl.Enabled          = false;
                LanguagesCbl.Enabled        = false;
                DevSpecDdl.Visible          = false;

                ChangePassword.Visible = true;

                SaveDataButton.Text = "Edit profile";
                Response.Redirect("~/Account/Manage");
            }
            else if (SaveDataButton.Text == "Edit profile")
            {
                if (currentUser.DeveloperSpecialityId == 4)
                {
                    DevSpecDdl.Enabled = true;
                }
                else
                {
                    DevSpecDdl.Enabled   = false;
                    DevSpecDdl.Visible   = false;
                    DevSpecLabel.Visible = true;
                }

                DevSpecDdl.Enabled          = true;
                UserNameTb.Enabled          = true;
                PhoneNumberTb.Enabled       = true;
                ExperienceTextArea.Disabled = false;
                LanguagesCbl.Enabled        = true;
                SaveDataButton.Text         = "Save changes";
                ChangePassword.Visible      = false;
            }
        }
Esempio n. 2
0
        protected void Page_Load()
        {
            var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();


            HasPhoneNumber = String.IsNullOrEmpty(manager.GetPhoneNumber(User.Identity.GetUserId()));

            // Enable this after setting up two-factor authentientication
            //PhoneNumber.Text = manager.GetPhoneNumber(User.Identity.GetUserId()) ?? String.Empty;

            TwoFactorEnabled = manager.GetTwoFactorEnabled(User.Identity.GetUserId());

            LoginsCount = manager.GetLogins(User.Identity.GetUserId()).Count;

            var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;

            if (!IsPostBack)
            {
                // Determine the sections to render
                if (HasPassword(manager))
                {
                    ChangePassword.Visible = true;
                }
                else
                {
                    CreatePassword.Visible = true;
                    ChangePassword.Visible = false;
                }

                // Render success message
                var message = Request.QueryString["m"];
                if (message != null)
                {
                    // Strip the query string from action
                    Form.Action = ResolveUrl("~/Account/Manage");

                    SuccessMessage =
                        message == "ChangePwdSuccess" ? "Your password has been changed."
                        : message == "SetPwdSuccess" ? "Your password has been set."
                        : message == "RemoveLoginSuccess" ? "The account was removed."
                        : message == "AddPhoneNumberSuccess" ? "Phone number has been added"
                        : message == "RemovePhoneNumberSuccess" ? "Phone number was removed"
                        : String.Empty;
                    successMessage.Visible = !String.IsNullOrEmpty(SuccessMessage);
                }
            }



            if (!IsPostBack)
            {
                var db            = new ProjMDbContext();
                var currentUserId = User.Identity.GetUserId();
                var currentUser   = db.Users.Where(a => a.Id == currentUserId).First();
                UserNameTb.Text          = currentUser.Name;
                PhoneNumberTb.Text       = currentUser.Phone;
                ExperienceTextArea.Value = currentUser.Experience;
                StatusLabel.Text         = currentUser.UserStatus.Name;
                RankPointsTb.Text        = currentUser.RankPoints.ToString();
                RankTb.Text = currentUser.UserRank.RankName;
                LastProjectInfoValue.Text = currentUser.UserRankId == 1 ? "-" : currentUser.LastProjectInfo;
                switch (currentUser.UserStatusId)
                {
                case 1: StatusLabel.ForeColor = Color.Green; break;

                case 2: StatusLabel.ForeColor = Color.Black; break;

                case 3: StatusLabel.ForeColor = Color.Red; break;
                }

                //fill DevSpec DDL
                var devSpec = db.DeveloperSpecialities.ToList();
                foreach (var spec in devSpec)
                {
                    DevSpecDdl.Items.Add(new ListItem()
                    {
                        Value = spec.Id.ToString(),
                        Text  = spec.Name
                    });
                }
                devSpec.Clear();
                DevSpecDdl.SelectedIndex = currentUser.DeveloperSpecialityId - 1;

                //fill language list with all possible selections
                var languages = db.ProgrammingLanguages.ToList();
                foreach (var lang in languages)
                {
                    LanguagesCbl.Items.Add(new ListItem()
                    {
                        Value = lang.Id.ToString(),
                        Text  = lang.Name
                    });
                }

                var currentUserLanguages = currentUser.ProgrammingLanguages.ToList();
                // mark current user selections
                foreach (var item in currentUserLanguages)
                {
                    LanguagesCbl.Items.FindByValue(item.Id.ToString()).Selected = true;
                }
                languages.Clear();
                currentUserLanguages.Clear();
                if (currentUser.DeveloperSpecialityId != 4)
                {
                    DevSpecDdl.Enabled   = false;
                    DevSpecDdl.Visible   = false;
                    DevSpecLabel.Visible = true;
                    DevSpecLabel.Text    = currentUser.DeveloperSpeciality.Name;
                }
            }
        }
Esempio n. 3
0
 public Manage()
 {
     this.conttext = new ProjMDbContext();
 }