예제 #1
0
        protected void ASPxGridViewUsers_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
        {
            if (IsValid)
            {
                var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
                var user    = new ApplicationUser()
                {
                    Name = e.NewValues["Name"].ToString(), UserName = e.NewValues["UserName"].ToString(), Email = e.NewValues["UserName"].ToString(), TypeUser = e.NewValues["TypeUser"].ToString()
                };
                IdentityResult result = manager.Create(user, e.NewValues["PasswordHash"].ToString());
                if (result.Succeeded)
                {
                    // Para obtener más información sobre cómo habilitar la confirmación de cuentas y el restablecimiento de contraseña, visite http://go.microsoft.com/fwlink/?LinkID=320771
                    //string code = manager.GenerateEmailConfirmationToken(user.Id);
                    //string callbackUrl = IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Id, Request);
                    //manager.SendEmail(user.Id, "Confirmar cuenta", "Para confirmar la cuenta, haga clic <a href=\"" + callbackUrl + "\">aquí</a>.");

                    //se obtiene el valor del rol seleccionado
                    //ASPxComboBox editor = (ASPxComboBox)ASPxGridViewUsers.FindEditFormTemplateControl("cmbUserType");
                    //string grupo = editor.Text;

                    string[] x = GetLookupCompanies();

                    //se valida si existe el rol de usuario
                    var _context    = new ApplicationDbContext();
                    var roleStore   = new RoleStore <IdentityRole>(_context);
                    var roleManager = new RoleManager <IdentityRole>(roleStore);
                    if (!roleManager.RoleExists(e.NewValues["TypeUser"].ToString()))
                    {
                        _context.Roles.Add(new IdentityRole(e.NewValues["TypeUser"].ToString()));
                    }

                    //se agrega el usuario al Rol seleccionado
                    manager.AddToRole(user.Id, e.NewValues["TypeUser"].ToString());

                    ASPxGridViewUsers.JSProperties.Add("cp_success", "true");
                }
                else
                {
                    ASPxGridViewUsers.JSProperties.Add("cp_success", "false");
                }
            }

            e.Cancel = true;
            ASPxGridViewUsers.CancelEdit();
            GetUserList();
        }
예제 #2
0
 protected void ASPxGridViewUsers_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
 {
     e.Cancel = false;
     ASPxGridViewUsers.CancelEdit();
     ASPxGridViewUsers.DataBind();
 }