コード例 #1
0
ファイル: SMI.04.01.aspx.cs プロジェクト: apedro-silva/Work
        private void CreateRecord(string userName, string password, string email, string firstName, string lastName, int?companyID, int?functionalAreaID, Boolean?isManager, Boolean?isExecutive, Boolean?isLockedOut)
        {
            MembershipCreateStatus status = WebSecurity.Register(userName, password, email, true, firstName, lastName, companyID == 0 ? null : companyID, functionalAreaID == 0 ? null : functionalAreaID, isManager, isExecutive);

            if (status == MembershipCreateStatus.Success)
            {
                WebSecurity.LockUser(userName, (bool)isLockedOut);

                if (ddlMembershipRole.SelectedValue.Equals("0"))
                {
                    System.Web.Security.Roles.AddUserToRole(userName, "User");
                }
                else
                {
                    System.Web.Security.Roles.AddUserToRole(userName, ddlMembershipRole.SelectedItem.Text);
                }

                GridView           gv       = ProductionUnitGrid.GetGridView();
                CheckBox           selected = null;
                HiddenField        pid      = null;
                UserProductionUnit upu      = null;
                Guid userId = WebSecurity.GetUserId(userName);

                using (var db = new Models.SmizeeContext())
                {
                    foreach (GridViewRow currentRow in gv.Rows)
                    {
                        selected = currentRow.FindControl("SelectRowCheckBox") as CheckBox;
                        if (selected.Checked)
                        {
                            pid                  = currentRow.FindControl("ProductionUnitIDHidden") as HiddenField;
                            upu                  = new UserProductionUnit();
                            upu.UserID           = userId;
                            upu.ProductionUnitID = int.Parse(pid.Value);
                            db.UserProductionUnits.Add(upu);
                        }
                    }
                    db.SaveChanges();
                }

                BackPanel.Visible          = true;
                ConfirmButtonPanel.Visible = false;
                DetailPanel.Visible        = false;
                ShowInfo(MessagePanel, Resources.Resource.mUserCreateOK);
            }
            else
            {
                ShowError(ErrorPanel, status.ToString());
            }
        }
コード例 #2
0
ファイル: SMI.04.01.aspx.cs プロジェクト: apedro-silva/Work
        protected void OnCompanySelectedIndexChanged(object sender, EventArgs e)
        {
            Guid?userId    = null;
            int  companyId = -1;

            string optionSelected = btnConfirm.CommandName;

            if (!optionSelected.Equals("CRE"))
            {
                userId = WebSecurity.GetUserId(UserNameInput.Text);
            }

            if (ddlCompany.SelectedValue != "0")
            {
                companyId = int.Parse(ddlCompany.SelectedValue);
            }

            ProductionUnitGrid.BindList(userId, CxProductionUnit.GetListByCompanyId(companyId));
        }
コード例 #3
0
ファイル: SMI.04.01.aspx.cs プロジェクト: apedro-silva/Work
        protected void OnGridView1SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                Guid        userId;
                string      optionSelected = btnConfirm.CommandName;
                GridViewRow currentRow     = GridView1.SelectedRow;
                CleanMessage(MessagePanel, ErrorPanel);
                if (currentRow == null)
                {
                    return;
                }

                DetailPanel.Visible        = true;
                DetailPanel.Enabled        = true;
                ConfirmButtonPanel.Visible = true;
                BackPanel.Visible          = false;

                Label userName = currentRow.FindControl("UserNameLabel") as Label;
                UserNameInput.Text = Server.HtmlDecode(userName.Text).Trim();

                userId = WebSecurity.GetUserId(userName.Text);

                Label email = currentRow.FindControl("EmailLabel") as Label;
                EmailInput.Text = Server.HtmlDecode(email.Text).Trim();

                Label lastName = currentRow.FindControl("LastNameLabel") as Label;
                LastNameInput.Text = Server.HtmlDecode(lastName.Text).Trim();

                Label firstName = currentRow.FindControl("FirstNameLabel") as Label;
                FirstNameInput.Text = Server.HtmlDecode(firstName.Text).Trim();

                HiddenField companyIdHidden = currentRow.FindControl("CompanyIDHidden") as HiddenField;
                ddlCompany.SelectedValue = companyIdHidden.Value == "" ? "0" : companyIdHidden.Value;

                HiddenField functionalAreaId = currentRow.FindControl("FunctionalAreaIdHidden") as HiddenField;
                ddlFunctionalArea.SelectedValue = functionalAreaId.Value == "" ? "0" : functionalAreaId.Value;

                HiddenField isManager = currentRow.FindControl("IsManagerHidden") as HiddenField;
                cbManager.Checked = isManager.Value == "True"?true:false;

                HiddenField isExecutive = currentRow.FindControl("IsExecutiveHidden") as HiddenField;
                cbExecutive.Checked = isExecutive.Value == "True" ? true : false;

                HiddenField isLockedOut = currentRow.FindControl("IsLockedOutHidden") as HiddenField;
                cbIsLockedOut.Checked = isLockedOut.Value == "True" ? true : false;

                PasswordInput.Text        = "";
                ConfirmPasswordInput.Text = "";

                int companyId = -1;
                if (ddlCompany.SelectedValue != "0")
                {
                    companyId = int.Parse(ddlCompany.SelectedValue);
                }
                ProductionUnitGrid.BindList(userId, CxProductionUnit.GetListByCompanyId(companyId));

                Guid?  roleId = null;
                string roleName;

                WebSecurity.GetUserRoleName(userName.Text, out roleId, out roleName);
                CurrentRoleNameHidden.Value = roleName;

                if (roleId != null)
                {
                    ddlMembershipRole.SelectedValue = roleId.ToString();
                }
                else
                {
                    ddlMembershipRole.SelectedIndex = 0;
                }

                switch (optionSelected)
                {
                case "QRY": ConfirmButtonPanel.Visible = false;
                    DetailPanel.Enabled   = false;
                    BackPanel.Visible     = true;
                    UserNameInput.Enabled = false;
                    break;

                case "DEL": UserNameInput.Enabled = false;
                    DetailPanel.Enabled           = false;
                    break;

                case "UPD": UserNameInput.Enabled = false;
                    PasswordInput.Enabled         = false;
                    ConfirmPasswordInput.Enabled  = false;
                    break;

                case "CRE": UserNameInput.Enabled = true;
                    break;
                }
            }
            catch (Exception exp)
            {
                ShowError(ErrorPanel, exp.Message);
            }
        }
コード例 #4
0
ファイル: SMI.04.01.aspx.cs プロジェクト: apedro-silva/Work
        private void UpdateRecord(string userName, string password, string email, string firstName, string lastName, int?companyID, int?functionalAreaID, Boolean?isManager, Boolean?isExecutive, Boolean?isLockedOut)
        {
            //Query the database for the rows to be deleted.
            using (var db = new Models.SmizeeContext())
            {
                var myItem = (from c in db.Users where c.Username == userName select c).First();
                if (myItem != null)
                {
                    myItem.FirstName        = firstName;
                    myItem.LastName         = lastName;
                    myItem.Email            = email;
                    myItem.CompanyID        = companyID;
                    myItem.FunctionalAreaID = functionalAreaID;
                    myItem.IsManager        = isManager;
                    myItem.IsExecutive      = isExecutive;
                    db.SaveChanges();
                }

                WebSecurity.LockUser(userName, (bool)isLockedOut);

                string roleName = CurrentRoleNameHidden.Value;
                if (!string.IsNullOrEmpty(roleName))
                {
                    System.Web.Security.Roles.RemoveUserFromRole(userName, roleName);
                }

                if (ddlMembershipRole.SelectedValue.Equals("0"))
                {
                    System.Web.Security.Roles.AddUserToRole(userName, "User");
                }
                else
                {
                    System.Web.Security.Roles.AddUserToRole(userName, ddlMembershipRole.SelectedItem.Text);
                }

                // remove all country export records associated to the current formId
                CxUserProductionUnit.Delete(myItem.UserId);

                GridView           gv       = ProductionUnitGrid.GetGridView();
                CheckBox           selected = null;
                HiddenField        pid      = null;
                UserProductionUnit upu      = null;
                Guid userId = WebSecurity.GetUserId(userName);

                foreach (GridViewRow currentRow in gv.Rows)
                {
                    selected = currentRow.FindControl("SelectRowCheckBox") as CheckBox;
                    if (selected.Checked)
                    {
                        pid                  = currentRow.FindControl("ProductionUnitIDHidden") as HiddenField;
                        upu                  = new UserProductionUnit();
                        upu.UserID           = userId;
                        upu.ProductionUnitID = int.Parse(pid.Value);
                        db.UserProductionUnits.Add(upu);
                    }
                }
                db.SaveChanges();
            }

            BackPanel.Visible          = true;
            ConfirmButtonPanel.Visible = false;
            DetailPanel.Visible        = false;
            ShowInfo(MessagePanel, Resources.Resource.mUserUpdateOK);
        }