private void ShowUserData(Framework.Security.Business.CustomMembershipUser userData) { if (userData.UserData.RequestedDate != DateTime.MinValue) { this.lblDataRequisicao.Text = userData.UserData.RequestedDate.ToString("dd/MM/yyyy HH:mm:ss"); } else { this.lblDataRequisicao.Text = ""; } if (userData.UserData.ApprovedDate != DateTime.MinValue) { this.lblDataResposta.Text = userData.UserData.ApprovedDate.ToString("dd/MM/yyyy HH:mm:ss"); } else { this.lblDataResposta.Text = ""; } this.lblLogin.Text = userData.UserData.UserName; this.lnlNome.Text = userData.UserData.FullName; this.chkAprovado.Checked = userData.UserData.IsApproved; this.chkAtivado.Checked = !userData.UserData.IsLockedOut; }
protected void grdUsers_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType != DataControlRowType.DataRow) { return; } Framework.Security.Business.CustomMembershipUser user = (Framework.Security.Business.CustomMembershipUser)e.Row.DataItem; LinkButton lnkConvidar = (LinkButton)e.Row.FindControl("lnkConvidar"); lnkConvidar.CommandArgument = user.UserName; }
private bool ApproveUser(string login, string key) { bool isApproved = false; Framework.Security.Business.UserDataService userService = new Framework.Security.Business.UserDataService(HttpContext.Current.User.Identity.Name); userService.UserName = login; userService.ActivateKey = key; //Aprovando o usuário isApproved = userService.ApproveUser(); //Buscando dados do usuário Framework.Security.Business.CustomMembershipUser customUser = (Framework.Security.Business.CustomMembershipUser)Membership.Provider.GetUser(login, false); //Se o usuário não foi encontrado if (customUser == null) { base.ShowErrors("Usuário não encontrado na base de dados."); this.MultiViewConfirm.ActiveViewIndex = 0; return(false); } //Se o usuário foi encontrado else { //inserindo as roles do usuário que está sendo inserido //string [] roles = new string[4]; //roles[0] = "Apostador"; //roles[1] = "Convidado"; //roles[2] = "Visitante de Bolão"; //roles[3] = "Visitante de Campeonato"; string rolesToAdd = ConfigurationManager.AppSettings["RolesToAddAtConfirmation"]; if (rolesToAdd != null) { string[] roles = rolesToAdd.Split(new char[] { '|' }); System.Web.Security.Roles.AddUserToRoles(login, roles); } //Inserindo os usuários na lista de itens no momento da confirmação do login string listToAdd = ConfigurationManager.AppSettings["BolaoListToAddAtConfirmation"]; if (!string.IsNullOrEmpty(listToAdd)) { string[] items = listToAdd.Split(new char [] { '|' }); foreach (string entry in items) { Business.Boloes.Support.Bolao bolao = new BolaoNet.Business.Boloes.Support.Bolao(login, entry); bolao.Load(); if ((!bolao.ApostasApenasAntes) || (bolao.ApostasApenasAntes && !bolao.IsIniciado)) { bolao.InsertMembro(new Framework.Security.Model.UserData(login)); } } }//endif items a serem inseridos this.MultiViewConfirm.ActiveViewIndex = 1; //Mostrando dados do usuário ShowUserData(customUser); this.lblChave.Text = userService.ActivateKey; //Se não foi aprovado if (!isApproved) { base.ShowErrors("Chave do usuário inválido para aprovação."); this.lblStatus.Text = "Chave do usuário inválido para aprovação."; } //Se foi aprovado else { base.ShowMessages("Usuário aprovado."); this.lblStatus.Text = "Usuário aprovado."; this.lnkTentarNovamente.Visible = false; Framework.Security.Business.UserDataService userEntry = new Framework.Security.Business.UserDataService("", customUser.UserData); ////Salvando os dados do profile do usuário //Business.Profile.CustomProfile profile = Business.Profile.CustomProfile.GetProfile(); //profile.NomeCampeonato = ""; //profile.NomeBolao = ""; //profile.Save(); Framework.Logging.Logger.LogManager.WriteInformation(null, this, "Usuário " + customUser.UserData.UserName + " aprovado.", null); Framework.Security.Util.Mail.Send(userEntry.LoadUser(), Framework.Security.Util.Mail.Template.Welcome); } //endif se foi aprovado } //endif usuário encontrado return(true); }
protected void btnSalvar_Click(object sender, EventArgs e) { if (Page.IsValid) { Framework.Security.Model.UserData user = LoadUserDataFromPage(); MembershipCreateStatus status = MembershipCreateStatus.ProviderError; //Criando o usuário MembershipUser memberUser = Membership.Provider.CreateUser( user.UserName, user.Password, user.Email, user.PasswordQuestion, user.PasswordAnswer, user.IsApproved, user.UserName, out status); switch (status) { case MembershipCreateStatus.DuplicateEmail: base.ShowErrors("O email especificado já existe cadastrado para um usuário, por favor, entre com outro email."); //((RegularExpressionValidator)this.dtvNewUser.FindControl("revEmail")).IsValid = false; return; case MembershipCreateStatus.DuplicateProviderUserKey: base.ShowErrors("O usuário já existe no banco de dados, por favor, entre com outro."); return;; case MembershipCreateStatus.DuplicateUserName: base.ShowErrors("O login do usuário já existe no banco de dados, por favor, entre com outro login."); //((IValidator)this.dtvNewUser.FindControl("rfvLogin")).IsValid = false; return;; case MembershipCreateStatus.InvalidAnswer: base.ShowErrors("Resposta inválida, por favor entre com uma resposta que atenda aos requisitos de segurança."); return; case MembershipCreateStatus.InvalidEmail: base.ShowErrors("Formato de email incorreto."); return; case MembershipCreateStatus.InvalidPassword: base.ShowErrors("Senha inválida, por favor entre com uma senha que atenda aos requisitos de segurança."); return; case MembershipCreateStatus.InvalidProviderUserKey: base.ShowErrors("Chave do usuário inválida."); return; case MembershipCreateStatus.InvalidQuestion: base.ShowErrors("Pergunta inválida, por favor entre com uma pergunta que atenda aos requisitos de segurança."); return; case MembershipCreateStatus.InvalidUserName: base.ShowErrors("Usuário inválido."); return; case MembershipCreateStatus.ProviderError: base.ShowErrors("Erro de provider."); return; case MembershipCreateStatus.UserRejected: base.ShowErrors("Usuário rejeitado."); return; case MembershipCreateStatus.Success: break; } Framework.Security.Business.CustomMembershipUser customUser = (Framework.Security.Business.CustomMembershipUser)memberUser; customUser.UserData.Copy(user); Membership.UpdateUser(customUser); Framework.Security.Business.UserDataService userModel = new Framework.Security.Business.UserDataService("", user); Framework.Security.Model.UserData userDataItem = userModel.LoadUser(); try { if (Framework.Security.Util.Mail.Send(userDataItem, Framework.Security.Util.Mail.Template.Activation)) { this.MultiViewNewLogin.ActiveViewIndex = 1; Framework.Logging.Logger.LogManager.WriteInformation(null, this, "Usuário " + userModel.UserName + " foi criado.", null); } else { this.MultiViewNewLogin.ActiveViewIndex = 2; base.ShowErrors("Não foi possível enviar o email para o usuário criado."); //Excluindo o usuário pois o mesmo não foi possível enviar o email Membership.DeleteUser(user.UserName); } } catch (Exception ex) { this.lblErrorSendMail.Text = "Erro: " + ex.Message; this.MultiViewNewLogin.ActiveViewIndex = 2; base.ShowErrors("Não foi possível enviar o email para o usuário criado."); //Excluindo o usuário pois o mesmo não foi possível enviar o email Membership.DeleteUser(user.UserName); } } }