示例#1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            UserName = Request["UserName"];
            Action = Request["Action"];

            if (!IsPostBack)
            {
                if (Action == "Edit")
                {
                    lblHeader.Text = "Thông Tin Người Dùng";
                    btnRegister.Text = "Cập Nhật";
                    btnRegister.CommandName = "Edit";
                    ltrNotice.Visible = false;
                    trPassReset.Visible = true;
                    trPass.Visible = false;
                    trPassConfirm.Visible = false;
                    btnReset.Attributes.Add("onclick", "return confirm('Phát sinh lại Mật Khẩu');");

                    lblOldPassword.Text = "Mật Khẩu Mới";
                    lblPassword.Text = "Xác Nhận Mật Khẩu";

                    if (!IsPostBack)
                    {
                        txtUserName.Text = UserName;
                        txtUserName.ReadOnly = true;

                        aspnet_MembershipData data = new aspnet_MembershipData();
                        Criteria cri = new Criteria();
                        MembershipUser user = Membership.GetUser(UserName);
                        cri.And("UserId", "=", user.ProviderUserKey.ToString());
                        ITransaction tran = factory.GetSearchObject(data, cri);
                        Execute(tran);

                        if (tran.Result != null)
                            if (((System.Collections.ArrayList)tran.Result).Count > 0)
                                data = (aspnet_MembershipData)(((System.Collections.ArrayList)tran.Result)[0]);

                        txtFullName.Text = data.FullName;

                        txtEmail.Text = user.Email;

                        //ddlRolesList.DataSource = Roles.GetAllRoles();
                        //ddlRolesList.DataBind();
                        DbHelper.FillList(ddlRolesList, "Select * from Mst_Roles  Where delFlag = '0'", "RoleName", "RoleId");

                        //DbHelper.FillList(drpBuilding, "Select Name as BD_Name, BuildingId from Mst_Building", "BD_Name", "BuildingId");

                        //if (data.SaleUserFlag == "1")
                        //    cbManagement.Checked = true;

                        //if (data.InChargeUserFlag == "1")
                        //    cbInputer.Checked = true;

                        //if(Roles.GetRolesForUser(UserName).Length != 0)
                        DbHelper.FillList(ddlRolesList, "Select * from Mst_Roles Where RoleId not in (Select RoleId from Mst_UserInRoles Where Username = '******')", "RoleName", "RoleId");
                        DbHelper.FillList(lstSelectedRole, "Select * from Mst_Roles Where RoleId in (Select RoleId from Mst_UserInRoles Where Username = '******')", "RoleName", "RoleId");

                        chkActive.Checked = user.IsApproved;
                    }
                }
                else // Add new case
                {
                    //DbHelper.FillList(drpBuilding, "Select Name as BD_Name, BuildingId from Mst_Building Where delFlag = '0'and BuildingId in ('" + Func.ParseString(Session["__BUILDINGID__"]) + "')", "BD_Name", "BuildingId");
                    //DbHelper.FillList(ddlRolesList, "Select * from Mst_Roles  Where delFlag = '0'", "RoleName", "RoleId");
                    DbHelper.FillList(ddlRolesList, "Select * from Mst_Roles Where RoleId not in (Select RoleId from Mst_UserInRoles Where Username = '******')", "RoleName", "RoleId");

                    lblHeader.Text = "Thông Tin Người Dùng";
                    trPassReset.Visible = false;
                    trPass.Visible = true;
                    trPassConfirm.Visible = true;
                    btnRegister.Text = "Thêm Mới";
                    ltrNotice.Visible = true;
                    ltrNotice.Text = "";

                    //if (!IsPostBack)
                    //{
                    //    ddlRolesList.DataSource = Roles.GetAllRoles();
                    //    ddlRolesList.DataBind();
                    //}
                }
            }
        }
示例#2
0
        protected void btnRegister_Click(object sender, EventArgs e)
        {
            mvMessage.CheckRequired(txtUserName, "Tên Người Dùng(User Name): Mục Bắt Buộc");
            mvMessage.CheckRequired(txtFullName, "Họ Tên: ): Mục Bắt Buộc");
            //mvMessage.CheckRequired(txtEmail, "Emailを正しく入力してください。");

            if (!mvMessage.IsValid) return;
            if (btnRegister.CommandName == "Edit")
            {
                //if (txtConfirm.Text != String.Empty || txtPassword.Text != String.Empty)
                //{
                //    if (txtPassword.Text != txtConfirm.Text)
                //    {
                //        mvMessage.AddError("パスワードが一致していません。");
                //        return;
                //    }
                //    if (!mvMessage.IsValid) return;
                //}

                aspnet_MembershipData data = new aspnet_MembershipData();
                Criteria cri = new Criteria();

                MembershipUser user = Membership.GetUser(UserName);
                cri.And("UserId", "=", user.ProviderUserKey.ToString());
                ITransaction tran = factory.GetSearchObject(data, cri);
                Execute(tran);
                data = (aspnet_MembershipData)(((System.Collections.ArrayList)tran.Result)[0]);

                user.IsApproved = chkActive.Checked;

                user.Email = txtEmail.Text.ToString().Trim();

                try
                {
                    string[] roles = Roles.GetRolesForUser(UserName);
                    bool isExist = false;
                    for (int i = 0; i < roles.Length; i++)
                    {
                        if (ddlRolesList.SelectedValue == roles[i])
                        {
                            isExist = true;
                            break;
                        }
                    }
                    if (!isExist)
                    {
                        if (roles.Length > 0)
                        {
                            Roles.RemoveUserFromRoles(UserName, roles);
                        }
                        Roles.AddUserToRole(UserName, ddlRolesList.SelectedValue);
                    }
                }
                catch (Exception ex)
                {
                    ApplicationLog.WriteError(ex);
                }

                //if (txtPassword.Text != String.Empty)
                //{
                //    try
                //    {
                //        string pass = user.ResetPassword();
                //        txtPassReset.Text = pass;
                //        //if (!user.ChangePassword(pass, txtPassword.Text))
                //        //{
                //        //    mvMessage.AddError("エラーが発生しました。");
                //        //    return;
                //        //}
                //    }
                //    catch
                //    {
                //        mvMessage.AddError("変更パスワード中エラーが発生しました。");
                //    }
                //}

                user.IsApproved = chkActive.Checked;
                user.Email = txtEmail.Text.ToString().Trim();

                Membership.UpdateUser(user);

                //if(  cbManagement.Checked == true)
                //    data.SaleUserFlag = "1";
                //else
                //    data.SaleUserFlag = "0";

                //if (cbInputer.Checked == true)
                //    data.InChargeUserFlag = "1";
                //else
                //    data.InChargeUserFlag = "0";

                string plainQuery = String.Format("UPDATE [aspnet_Membership]  SET [FullName] = '{0}', BuildingId = '{1}'   WHERE [UserID] = '{2}';", txtFullName.Text.Trim(), Func.ParseString(Session["__BUILDINGID__"]), user.ProviderUserKey.ToString());
                SqlDatabase db = new SqlDatabase();
                int Modifieditem = db.ExecuteNonQuery(plainQuery);
                if (Modifieditem == 0)
                {
                    Membership.DeleteUser(txtUserName.Text.Trim());
                    OperationLogger.WriteError(Constants.LogOperationUserId, Constants.LogActionUpdateId, "Lỗi Phát Sinh", Page.User.Identity.Name);
                    mvMessage.AddError("Lỗi Phát Sinh");
                }
                else
                {
                    OperationLogger.WriteInfo(Constants.LogOperationUserId, Constants.LogActionUpdateId, "Cập Nhật Thành Công", Page.User.Identity.Name);
                    mvMessage.SetCompleteMessage("Cập Nhật Thành Công");
                    ScriptManager.RegisterClientScriptBlock(this.btnRegister, this.GetType(), "openedituser", "window.opener.__doPostBack('PopUpEditUser','');", true);

                    //Add quyền
                    int _count = lstSelectedRole.Items.Count;
                    if (_count != 0)
                    {
                        DbHelper.ExecuteNonQuery("Delete From Mst_UserInRoles Where UserName = '******'");
                        for (int i = 0; i < _count; i++)
                        {
                            ListItem item = new ListItem();
                            item.Text = lstSelectedRole.Items[i].Text;
                            item.Value = lstSelectedRole.Items[i].Value;
                            //Add the item to selected employee list
                            Mst_UserInRolesData dataRole = new Mst_UserInRolesData();
                            ITransaction tranA = factory.GetInsertObject(dataRole);

                            dataRole.UserName = txtUserName.Text;
                            dataRole.RoleId = item.Value;

                            dataRole.ModifiedBy = Page.User.Identity.Name;
                            dataRole.CreatedBy = Page.User.Identity.Name;
                            dataRole.Created = DateTime.Now.ToString("yyyyMMddHHmmss");
                            dataRole.Modified = DateTime.Now.ToString("yyyyMMddHHmmss");
                            dataRole.DelFlag = "0";

                            Execute(tranA);

                            if (!HasError)
                            {
                            }
                            else
                            {
                            }
                        }
                    }
                }
            }
            else // Dang ky moi
            {
                MembershipCreateStatus status;
                MembershipUser user = null;
                mvMessage.CheckRequired(txtPassword, "Nhập Mới Mật Khẩu");
                mvMessage.CheckRequired(txtConfirm, "Nhập Xác Nhận Mật Khẩu");
                if (!mvMessage.IsValid) return;
                if (txtConfirm.Text.Trim() != txtPassword.Text.Trim())
                {
                    mvMessage.AddError("Mật Khẩu Không Giống Nhau");
                    return;
                }

                user = Membership.GetUser(txtUserName.Text);
                if (user != null)
                {
                    mvMessage.AddError("Người dùng: " + txtUserName.Text + " đã tồn tại.");
                    return;
                }

                if (txtUserName.Text.Length >= 14)
                {
                    mvMessage.AddError("Người dùng: Tên đăng nhập phải < 14 ký tự.");
                    return;
                }

                status = new MembershipCreateStatus();
                user = Membership.CreateUser(txtUserName.Text.Trim(), txtPassword.Text.Trim(), txtEmail.Text.Trim(), "Who is Peter?", "Peter's Father's son", true, out status);

                if (status == MembershipCreateStatus.Success)
                {
                    user.IsApproved = chkActive.Checked;
                    Membership.UpdateUser(user);

                    try
                    {
                        Roles.RemoveUserFromRoles(user.UserName, Roles.GetAllRoles());
                    }
                    catch
                    {
                    }

                    try
                    {
                        Roles.AddUserToRole(user.UserName, ddlRolesList.SelectedItem.Text);
                    }
                    catch
                    {
                    }

                    if (txtFullName.Text.Trim() != string.Empty)
                    {
                        string SaleUserFlag = String.Empty;
                        string InChargeUserFlag = String.Empty;
                        //if (cbManagement.Checked == true)
                        //{
                        //    SaleUserFlag = "1";
                        //}
                        //else
                        //{
                        //    SaleUserFlag = "0";
                        //}

                        //if (cbInputer.Checked == true)
                        //{
                        //    InChargeUserFlag = "1";
                        //}
                        //else
                        //{
                        //    InChargeUserFlag = "0";
                        //}

                        aspnet_MembershipData data = new aspnet_MembershipData();
                        string plainQuery = String.Format("UPDATE [aspnet_Membership]  SET [FullName] = '{0}', [BuildingId] = '{2}' WHERE [UserId] = '{1}';", txtFullName.Text.Trim(), user.ProviderUserKey.ToString().Trim(), Func.ParseString(Session["__BUILDINGID__"]));
                        SqlDatabase db = new SqlDatabase();
                        if (db.ExecuteNonQuery(plainQuery) == 0)
                        {
                            Membership.DeleteUser(txtUserName.Text.Trim());
                            OperationLogger.WriteError(Constants.LogOperationUserId, Constants.LogActionUpdateId, "Lỗi Phát Sinh", Page.User.Identity.Name);
                            mvMessage.AddError("Lỗi Phát Sinh");
                            return;
                        }
                    }
                    OperationLogger.WriteInfo(Constants.LogOperationUserId, Constants.LogActionInsertId, "Thêm Mới Hoàn Tất", Page.User.Identity.Name);
                    mvMessage.SetCompleteMessage("Thêm Mới Hoàn Tất");
                    ScriptManager.RegisterClientScriptBlock(this.btnRegister, this.GetType(), "openadduser", "window.opener.__doPostBack('PopUpEditUser','');", true);

                    //Add quyền
                    int _count = lstSelectedRole.Items.Count;
                    if (_count != 0)
                    {
                        DbHelper.ExecuteNonQuery("Delete From Mst_UserInRoles Where UserName = '******'");
                        for (int i = 0; i < _count; i++)
                        {
                            ListItem item = new ListItem();
                            item.Text = lstSelectedRole.Items[i].Text;
                            item.Value = lstSelectedRole.Items[i].Value;
                            //Add the item to selected employee list
                            Mst_UserInRolesData dataRole = new Mst_UserInRolesData();
                            ITransaction tran = factory.GetInsertObject(dataRole);

                            dataRole.UserName = txtUserName.Text;
                            dataRole.RoleId = item.Value;

                            dataRole.ModifiedBy = Page.User.Identity.Name;
                            dataRole.CreatedBy = Page.User.Identity.Name;
                            dataRole.Created = DateTime.Now.ToString("yyyyMMddHHmmss");
                            dataRole.Modified = DateTime.Now.ToString("yyyyMMddHHmmss");
                            dataRole.DelFlag = "0";

                            Execute(tran);

                            if (!HasError)
                            {
                            }
                            else
                            {
                            }
                        }

                    }

                }
                else
                {
                    OperationLogger.WriteError(Constants.LogOperationUserId, Constants.LogActionInsertId, "Lỗi Phát Sinh", Page.User.Identity.Name);
                    mvMessage.AddError("Lỗi Phát Sinh");
                }
            }
        }
示例#3
0
        protected void ShowData()
        {
            SqlDatabase db = new SqlDatabase();
            string sql = string.Empty;
            try
            {
                aspnet_MembershipData member = new aspnet_MembershipData();
                aspnet_UsersData user = new aspnet_UsersData();
                aspnet_UsersInRolesData roles = new aspnet_UsersInRolesData();

                sql = "SELECT count(distinct U.UserName)"
                 + " FROM aspnet_Membership AS M Inner JOIN aspnet_Users AS U ON M.UserId=U.UserId Inner Join Mst_Building AS A on M.BuildingId = A.BuildingId"
                 + " WHERE M.UserId=U.UserId and M.BuildingId = '" + Func.ParseString(Session["__BUILDINGID__"]) + "'" + GetWhere();
                int total = db.ExecuteCount(sql);

                if (!Func.IsValid(ListSortExpression))
                {
                    ListSortExpression = "M.FullName";
                    ListSortDirection = SortDirection.Ascending;
                }
                string sort = ListSortExpression + " " + (ListSortDirection == SortDirection.Ascending ? " asc " : " desc ");

                sql = "SELECT distinct M.FullName, U.UserName, A.Name as BuildingName, M.Email, M.IsApproved, M.LastLoginDate, ROW_NUMBER() OVER(ORDER BY " + sort + ") as RowNum "
                 + " FROM aspnet_Membership AS M Inner JOIN aspnet_Users AS U ON M.UserId=U.UserId Inner Join Mst_Building AS A on M.BuildingId = A.BuildingId"
                 + " WHERE M.UserId=U.UserId and M.BuildingId = '" + Func.ParseString(Session["__BUILDINGID__"]) + "'" + GetWhere();

                sql = "Select FullName, UserName, BuildingName, Email, IsApproved, LastLoginDate FROM (" + sql + ") as tmp WHERE RowNum BetWeen @PageIndex*@PageSize + 1  and (@PageIndex+1)*@PageSize Order by RowNum";
                SqlCommand cm = db.CreateCommand(sql);
                cm.Parameters.AddWithValue("@PageIndex", pager.CurrentPageIndex);
                cm.Parameters.AddWithValue("@PageSize", pager.PageSize);
                SqlDataAdapter da = new SqlDataAdapter(cm);
                DataSet ds = new DataSet();
                da.Fill(ds);
                db.Close();
                rptList.DataSource = ds.Tables[0].DefaultView;
                rptList.DataBind();
                pager.Count = total;
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteError(ex);
            }
        }