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); }
public bool SaveUserFile(Model.Boloes.Bolao bolao, Model.Campeonatos.Campeonato campeonato, Framework.Security.Model.UserData user) { if (bolao == null) { throw new ArgumentException("bolao"); } if (campeonato == null) { throw new ArgumentException("campeonato"); } if (user == null) { throw new ArgumentException("user"); } #region Buscando os jogos cadastrados do bolão //Loading jogos stored Business.Campeonatos.Support.Campeonato businessCampeonato = new Business.Campeonatos.Support.Campeonato(_currentLogin, campeonato); IList <Framework.DataServices.Model.EntityBaseData> listJogos = businessCampeonato.LoadJogos(0, null, null, DateTime.MinValue, DateTime.MinValue, null); if (listJogos.Count != 64) { throw new Exception("Não existem a quantidade determinada de jogos cadastradas no banco"); } #endregion #region Buscando os dados do arquivo Excel //Loading jogos from Excel file List <Model.Boloes.JogoUsuario> jogosUsuario = new List <BolaoNet.Model.Boloes.JogoUsuario>(); jogosUsuario = _daoTemplate.LoadJogosUsuario(_dao.CreateConnection(_file)); if (jogosUsuario.Count != 64) { throw new Exception("Não existem a quantidade de apostas cadastradas no excel."); } List <Model.Boloes.JogoUsuario> result = new List <BolaoNet.Model.Boloes.JogoUsuario>(); //Setting apostas dos usuários into jogos result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[0], jogosUsuario[0])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[1], jogosUsuario[1])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[2], jogosUsuario[7])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[3], jogosUsuario[6])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[4], jogosUsuario[12])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[5], jogosUsuario[13])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[6], jogosUsuario[19])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[7], jogosUsuario[18])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[8], jogosUsuario[24])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[9], jogosUsuario[25])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[10], jogosUsuario[30])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[11], jogosUsuario[31])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[12], jogosUsuario[36])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[13], jogosUsuario[37])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[14], jogosUsuario[42])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[15], jogosUsuario[43])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[16], jogosUsuario[2])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[17], jogosUsuario[9])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[18], jogosUsuario[8])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[19], jogosUsuario[3])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[20], jogosUsuario[20])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[21], jogosUsuario[14])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[22], jogosUsuario[15])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[23], jogosUsuario[26])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[24], jogosUsuario[21])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[25], jogosUsuario[27])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[26], jogosUsuario[32])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[27], jogosUsuario[33])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[28], jogosUsuario[38])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[29], jogosUsuario[39])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[30], jogosUsuario[44])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[31], jogosUsuario[45])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[32], jogosUsuario[4])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[33], jogosUsuario[5])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[34], jogosUsuario[10])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[35], jogosUsuario[11])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[36], jogosUsuario[16])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[37], jogosUsuario[17])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[38], jogosUsuario[22])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[39], jogosUsuario[23])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[40], jogosUsuario[34])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[41], jogosUsuario[35])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[42], jogosUsuario[28])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[43], jogosUsuario[29])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[44], jogosUsuario[40])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[45], jogosUsuario[41])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[46], jogosUsuario[46])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[47], jogosUsuario[47])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[48], jogosUsuario[48])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[49], jogosUsuario[49])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[50], jogosUsuario[51])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[51], jogosUsuario[50])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[52], jogosUsuario[52])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[53], jogosUsuario[53])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[54], jogosUsuario[54])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[55], jogosUsuario[55])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[56], jogosUsuario[57])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[57], jogosUsuario[56])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[58], jogosUsuario[58])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[59], jogosUsuario[59])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[60], jogosUsuario[60])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[61], jogosUsuario[61])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[62], jogosUsuario[62])); result.Add(SetValue((Model.Campeonatos.Jogo)listJogos[63], jogosUsuario[63])); #endregion #region Criando o usuário Framework.Security.Business.UserDataService userBusiness = new Framework.Security.Business.UserDataService(_currentLogin, user); System.Web.Security.MembershipCreateStatus status = userBusiness.CreateUser(); switch (status) { case MembershipCreateStatus.DuplicateEmail: throw new Exception("O email especificado já existe cadastrado para um usuário, por favor, entre com outro email."); case MembershipCreateStatus.DuplicateProviderUserKey: throw new Exception("O usuário já existe no banco de dados, por favor, entre com outro."); case MembershipCreateStatus.DuplicateUserName: throw new Exception("O login do usuário já existe no banco de dados, por favor, entre com outro login."); case MembershipCreateStatus.InvalidAnswer: throw new Exception("Resposta inválida, por favor entre com uma resposta que atenda aos requisitos de segurança."); case MembershipCreateStatus.InvalidEmail: throw new Exception("Formato de email incorreto."); case MembershipCreateStatus.InvalidPassword: throw new Exception("Senha inválida, por favor entre com uma senha que atenda aos requisitos de segurança."); case MembershipCreateStatus.InvalidProviderUserKey: throw new Exception("Chave do usuário inválida."); case MembershipCreateStatus.InvalidQuestion: throw new Exception("Pergunta inválida, por favor entre com uma pergunta que atenda aos requisitos de segurança."); case MembershipCreateStatus.InvalidUserName: throw new Exception("Usuário inválido."); case MembershipCreateStatus.ProviderError: throw new Exception("Erro de provider."); case MembershipCreateStatus.UserRejected: throw new Exception("Usuário rejeitado."); case MembershipCreateStatus.Success: break; } if (!userBusiness.UpdateUser()) { throw new Exception("Erro ao atualizar o usuário."); } #endregion Business.Boloes.Support.Bolao bolaoBusiness = new BolaoNet.Business.Boloes.Support.Bolao(_currentLogin, bolao.Nome); #region Adicionando as Roles para o usuário string rolesToAdd = ConfigurationManager.AppSettings["RolesToAddAtConfirmation"]; if (rolesToAdd != null) { string[] roles = rolesToAdd.Split(new char[] { '|' }); System.Web.Security.Roles.AddUserToRoles(user.UserName, roles); } #endregion #region Adicionando o usuário no bolão determinado bool insertedMember = bolaoBusiness.InsertMembro(user); if (!insertedMember) { throw new Exception("Não foi possível inserir o usuário no bolão " + bolao.Nome); } #endregion #region Inserindo jogos do usuário foreach (Model.Boloes.JogoUsuario jogoUsuario in result) { Business.Boloes.Support.JogoUsuario apostaUsuario = new BolaoNet.Business.Boloes.Support.JogoUsuario(_currentLogin, jogoUsuario); apostaUsuario.UserName = user.UserName; apostaUsuario.Bolao = bolao; apostaUsuario.Time1 = jogoUsuario.Time1; apostaUsuario.Time2 = jogoUsuario.Time2; apostaUsuario.Insert(); } #endregion #region Inserindo apostas extras string[] extras = new string[4]; //Primeiro Lugar if (result[63].ApostaTime1 > result[63].ApostaTime2) { extras[0] = result[63].Time1.Nome; extras[1] = result[63].Time2.Nome; } else { extras[0] = result[63].Time2.Nome; extras[1] = result[63].Time1.Nome; } //Terceiro Lugar if (result[62].ApostaTime1 > result[62].ApostaTime2) { extras[2] = result[62].Time1.Nome; extras[3] = result[62].Time2.Nome; } else { extras[2] = result[62].Time2.Nome; extras[3] = result[62].Time1.Nome; } for (int c = 0; c < 4; c++) { if (string.Compare(extras[c], "Suiça") == 0) { extras[c] = "Suíça"; } } //Primeiro lugar Business.Boloes.Support.ApostaExtraUsuario businessExtra = new BolaoNet.Business.Boloes.Support.ApostaExtraUsuario(_currentLogin, 1, bolao.Nome, user.UserName); businessExtra.NomeTime = extras[0]; businessExtra.Insert(); //Segundo Lugar businessExtra = new BolaoNet.Business.Boloes.Support.ApostaExtraUsuario(_currentLogin, 2, bolao.Nome, user.UserName); businessExtra.NomeTime = extras[1]; businessExtra.Insert(); //Terceiro Lugar businessExtra = new BolaoNet.Business.Boloes.Support.ApostaExtraUsuario(_currentLogin, 3, bolao.Nome, user.UserName); businessExtra.NomeTime = extras[2]; businessExtra.Insert(); //Quarto Lugar businessExtra = new BolaoNet.Business.Boloes.Support.ApostaExtraUsuario(_currentLogin, 4, bolao.Nome, user.UserName); businessExtra.NomeTime = extras[3]; businessExtra.Insert(); #endregion return(true); }