Example #1
0
    protected void UpdateLinkButton_Click(object sender, EventArgs e)
    {
        using (PlexingFleetDataContext context = new PlexingFleetDataContext(ConnectionString))
        {
            PlexUser user = context.PlexUsers.FirstOrDefault(x => x.CharacterId == CharacterIdLabel.Text.ToInt());

            user.Enabled = !BannedCheckBox.Checked;

            if (user.CorpId != CorporationDropDownList.SelectedValue.ToInt())
            {
                var corp = context.Corps.FirstOrDefault(x => x.CorpId == CorporationDropDownList.SelectedValue.ToInt());

                if (corp != null)
                {
                    user.CorpId       = corp.CorpId;
                    user.AllianceId   = corp.AllianceId;
                    user.CorpName     = corp.CorpName;
                    user.AllianceName = corp.AllianceName;
                }
            }

            if (NewPasswordTextBox.Text.Trim() != string.Empty && NewPasswordTextBox.Text == ConfirmPasswordTextBox.Text)
            {
                user.Password = FormsAuthentication.HashPasswordForStoringInConfigFile(NewPasswordTextBox.Text, "md5");
            }

            PlexUserRole role = context.PlexUserRoles.FirstOrDefault(x => x.CharacterId == CharacterIdLabel.Text.ToInt());

            SetPermission(context, role, SuperAdminCheckBox.Checked, "Super");
            SetPermission(context, role, AdministratorCheckBox.Checked, "Admin");
            SetPermission(context, role, AllianceCheckBox.Checked, "Alliance");
            SetPermission(context, role, CorporationCheckBox.Checked, "Corporation");

            context.SubmitChanges();
        }

        Response.Redirect(string.Format("{0}?{1}=1", PageReferrer.Page_Admin_Users, Origin));
    }
Example #2
0
    private void SetPermission(PlexingFleetDataContext context, PlexUserRole role, bool permissionChecked, string permissionName)
    {
        if (permissionChecked)
        {
            if (role != null)
            {
                if (!role.Roles.Contains(permissionName))
                {
                    if (role.Roles.Length > 0)
                    {
                        role.Roles += ",";
                    }

                    role.Roles += permissionName;
                }
            }
            else
            {
                role             = new PlexUserRole();
                role.CharacterId = CharacterIdLabel.Text.ToInt();
                role.Roles       = permissionName;

                context.PlexUserRoles.InsertOnSubmit(role);
            }
        }
        else
        {
            if (role != null)
            {
                role.Roles = role.Roles.Replace(string.Format("{0},", permissionName), "").Replace(string.Format(",{0}", permissionName), "");

                if (role.Roles == permissionName || role.Roles.Trim().Length == 0)
                {
                    context.PlexUserRoles.DeleteOnSubmit(role);
                }
            }
        }
    }
 partial void DeletePlexUserRole(PlexUserRole instance);
 partial void UpdatePlexUserRole(PlexUserRole instance);
 partial void InsertPlexUserRole(PlexUserRole instance);
Example #6
0
    private void CreateUser(PlexingFleetDataContext context, bool newCorp)
    {
        PlexUser user = context.PlexUsers.FirstOrDefault(x => x.CharacterId == CharacterId);

        if (user == null)
        {
            user = new PlexUser()
            {
                CharacterId   = this.CharacterId,
                CharacterName = this.CharacterName,
                AllianceId    = this.AllianceId,
                CorpId        = this.CorpId,
                AllianceName  = this.AllianceName,
                CorpName      = this.CorpName,
                Password      = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordTextBox.Text.Trim(), "md5"),
                Enabled       = true
            };

            context.PlexUsers.InsertOnSubmit(user);

            if (newCorp)
            {
                PlexUserRole role = new PlexUserRole()
                {
                    CharacterId = this.CharacterId,
                    Roles       = "Corporation"
                };

                context.PlexUserRoles.InsertOnSubmit(role);
            }
        }
        else
        {
            //Only do this if the user enabled.
            if (user.Enabled)
            {
                user.AllianceId   = this.AllianceId;
                user.CorpId       = this.CorpId;
                user.AllianceName = this.AllianceName;
                user.CorpName     = this.CorpName;

                if (newCorp)
                {
                    var userRoles = context.PlexUserRoles.FirstOrDefault(x => x.CharacterId == CharacterId);

                    //If no roles were found then add the one registring the corp admin rights for that corp.
                    if (userRoles == null)
                    {
                        PlexUserRole role = new PlexUserRole();
                        role.CharacterId = CharacterId;
                        role.Roles       = "Corporation";
                        context.PlexUserRoles.InsertOnSubmit(role);
                    }
                    else
                    {
                        //Only add the corporation role if it is missing.
                        if (!userRoles.Roles.Contains("Corporation"))
                        {
                            userRoles.Roles += ",Corporation";
                        }
                    }
                }
            }
            else
            {
                user.AllianceId   = this.AllianceId;
                user.CorpId       = this.CorpId;
                user.AllianceName = this.AllianceName;
                user.CorpName     = this.CorpName;
            }
        }

        context.SubmitChanges();
    }