Пример #1
0
        public static SEOToolsetUser GetUser()
        {
            var user = HttpContext.Current.Session[_tokenUser] as SEOToolsetUser;

            if (user == null)
            {
                HttpContext.Current.Session[_tokenUser] =
                    user = new SEOToolsetUser
                    {
                        Enabled = true,
                        IsLockedOut = false,
                        Country = new Country
                                      {
                                          Id = -1,
                                          Name = "Choose"
                                      }
                    };
            }
            return user;
        }
 public abstract void UpdateUser(SEOToolsetUser user);
 public abstract void CreateUser(SEOToolsetUser user, out MembershipCreateStatus status);
Пример #4
0
 public static void AssociateAccountToUser(Account account, SEOToolsetUser user)
 {
     throw new NotImplementedException();
 }
Пример #5
0
        public static void CreateAccountAndUser(Account account, SEOToolsetUser user)
        {
            using (var tran = new TransactionScope(Provider.ConnectionString))
            {
                if (account.CompanyIdCountry.HasValue && account.CompanyIdCountry == -1)
                    account.CompanyIdCountry = null;
                if (user.Country != null && user.Country.Id == -1)
                    user.Country = null;
                Provider.CreateAccount(account);

                user.Account = account;

                MembershipCreateStatus status;

                SEOMembershipManager.CreateUser(user, out status);

                if (status != MembershipCreateStatus.Success)
                    throw new MembershipCreateUserException(status);
                SEORolesManager.AddUserToRole(user.Login, "Administrator");
                tran.Commit();
            }
        }
        public override void CreateUser(out int id, string firstName,
                                        string lastName, string email,
                                        string address1, string address2,
                                        string cityTown,
                                        string state,
                                        string zip,
                                        string telephone,
                                        string login,
                                        string password,
                                        string passwordQuestion,
                                        string passwordAnswer,
                                        Account account,
                                        Country country,
                                        Role userRole,
                                        out MembershipCreateStatus status)
        {
            id = -1;
            using (var tran = new TransactionScope(_connName))
            {
                ValidatePassword(login, password, true);

                var ds = DSSEOToolsetUser.Create(_connName);

                if (ds.FindByName(login) != null)
                {
                    status = MembershipCreateStatus.DuplicateUserName;

                    return;
                }

                if (RequiresUniqueEmail)
                {
                    if (String.IsNullOrEmpty(email))
                    {
                        status = MembershipCreateStatus.InvalidEmail;
                        return;
                    }
                    if (ds.FindByEmail(email).Count > 0)
                    {
                        status = MembershipCreateStatus.DuplicateEmail;
                        return;
                    }
                }

                if (Membership.RequiresQuestionAndAnswer)
                {
                    if (String.IsNullOrEmpty(passwordQuestion))
                    {
                        status = MembershipCreateStatus.InvalidQuestion;
                        return;
                    }

                    if (String.IsNullOrEmpty(passwordAnswer))
                    {
                        status = MembershipCreateStatus.InvalidAnswer;
                        return;
                    }
                }

                EntityHelper.ValidateCode(DSSEOToolsetUser.Columns.Login, login);

                var ce = new SEOToolsetUser
                             {
                                 Enabled = true
                             };

                if (firstName != null)
                    ce.FirstName = firstName;
                if (lastName != null)
                    ce.LastName = lastName;
                if (email != null)
                    ce.Email = email;
                if (address1 != null)
                    ce.Address1 = address1;
                if (address2 != null)
                    ce.Address2 = address2;
                if (cityTown != null)
                    ce.CityTown = cityTown;
                if (state != null)
                    ce.State = state;
                if (zip != null)
                    ce.Zip = zip;
                if (telephone != null)
                    ce.Telephone = telephone;
                if (login != null)
                    ce.Login = login;
                if (password != null)
                    ce.Password = encodePassword(password);

                if (account != null)
                    ce.Account = account;
                if (country != null)
                    ce.Country = country;
                if (userRole != null)
                    ce.UserRole = userRole;

                if (passwordQuestion != null)
                    ce.PasswordQuestion = passwordQuestion;
                if (ce.PasswordAnswer != null)
                    ce.PasswordAnswer = encodePassword(ce.PasswordAnswer);

                ds.Insert(ce);
                status = MembershipCreateStatus.Success;
                tran.Commit();
                id = ce.Id;
            }
        }
        public override void UpdateUser(SEOToolsetUser user)
        {
            var tran = BeginTransaction();
            try
            {
                var ds = DSSEOToolsetUser.Create(_connName);
                ds.Update(user);

                tran.Commit();
            }
            catch (Exception ex)
            {
                LogException(ex, ex.Source);
                tran.Rollback();
                throw;
            }
        }
        public override void CreateUser(SEOToolsetUser user, out MembershipCreateStatus status)
        {
            using (var tran = new TransactionScope(_connName))
            {
                ValidatePassword(user.Login, user.Password, true);

                var ds = DSSEOToolsetUser.Create(_connName);

                if (ds.FindByName(user.Login) != null)
                {
                    status = MembershipCreateStatus.DuplicateUserName;
                    return;
                }

                if (RequiresUniqueEmail)
                {
                    if (String.IsNullOrEmpty(user.Email))
                    {
                        status = MembershipCreateStatus.InvalidEmail;
                        return;
                    }
                    if (ds.FindByEmail(user.Email).Count > 0)
                    {
                        status = MembershipCreateStatus.DuplicateEmail;
                        return;
                    }
                }

                if (Membership.RequiresQuestionAndAnswer)
                {
                    if (String.IsNullOrEmpty(user.PasswordQuestion))
                    {
                        status = MembershipCreateStatus.InvalidQuestion;
                        return;
                    }

                    if (String.IsNullOrEmpty(user.PasswordAnswer))
                    {
                        status = MembershipCreateStatus.InvalidAnswer;
                        return;
                    }
                }

                EntityHelper.ValidateCode(DSSEOToolsetUser.Columns.Login, user.Login);

                user.Password = encodePassword(user.Password);

                if (user.PasswordAnswer != null)
                    user.PasswordAnswer = encodePassword(user.PasswordAnswer);

                ds.Insert(user);

                status = MembershipCreateStatus.Success;

                tran.Commit();
            }
        }
        /// <summary>
        /// Adds a new membership user to the data source.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser" /> object populated with the information for the newly created user.
        /// </returns>
        /// <param name="username">The user name for the new user. </param>
        /// <param name="password">The password for the new user. </param>
        /// <param name="email">The e-mail address for the new user.</param>
        /// <param name="passwordQuestion">The password question for the new user.</param>
        /// <param name="passwordAnswer">The password answer for the new user</param>
        /// <param name="isApproved">Whether or not the new user is approved to be validated.</param>
        /// <param name="providerUserKey">The unique identifier from the membership data source for the user.</param>
        /// <param name="status">A <see cref="T:System.Web.Security.MembershipCreateStatus" /> enumeration value indicating whether the user was created successfully.</param>
        public override MembershipUser CreateUser(string username,
                                                  string password, string email, string passwordQuestion,
                                                  string passwordAnswer, bool isApproved, object providerUserKey,
                                                  out MembershipCreateStatus status)
        {
            using (var tran = new TransactionScope(_connName))
            {
                try
                {
                    ValidatePassword(username, password, true);

                    var DSUSer = DSSEOToolsetUser.Create(_connName);

                    //Check Name

                    if (DSUSer.FindByName(username) != null)
                    {
                        status = MembershipCreateStatus.DuplicateUserName;
                        return null;
                    }

                    if (RequiresUniqueEmail)
                    {
                        if (String.IsNullOrEmpty(email))
                        {
                            status = MembershipCreateStatus.InvalidEmail;
                            return null;
                        }
                        if (DSUSer.FindByEmail(email).Count > 0)
                        {
                            status = MembershipCreateStatus.DuplicateEmail;
                            return null;
                        }
                    }

                    if (RequiresQuestionAndAnswer)
                    {
                        if (String.IsNullOrEmpty(passwordQuestion))
                        {
                            status = MembershipCreateStatus.InvalidQuestion;
                            return null;
                        }

                        if (String.IsNullOrEmpty(passwordAnswer))
                        {
                            status = MembershipCreateStatus.InvalidAnswer;
                            return null;
                        }
                    }

                    EntityHelper.ValidateCode(DSSEOToolsetUser.Columns.Login, username);

                    var user = new SEOToolsetUser();

                    user.Login = username;
                    user.Account = null;
                    user.Email = email;
                    user.Password = encodePassword(password);
                    user.PasswordQuestion = passwordQuestion;
                    if (passwordAnswer != null) user.PasswordAnswer = encodePassword(passwordAnswer);
                    user.Enabled = isApproved;
                    user.LastPasswordChangedDate = DateTime.Now;

                    DSUSer.Insert(user);

                    tran.Commit();

                    status = MembershipCreateStatus.Success;
                    return UserToMembershipUser(user);
                }
                catch (CodeInvalidCharsException ex) //this exception is caused by an invalid user Name
                {
                    LogException(ex, "CreateUser");
                    status = MembershipCreateStatus.InvalidUserName;
                    return null;
                }

                catch (MembershipPasswordException ex)
                {
                    LogException(ex, "CreateUser");
                    status = MembershipCreateStatus.InvalidPassword;
                    return null;
                }

                catch (Exception ex)
                {
                    LogException(ex, "CreateUser");

                    status = MembershipCreateStatus.ProviderError;
                    return null;
                }
            }
        }
Пример #10
0
 private void sendMailNewSubscription(Account account, SEOToolsetUser user)
 {
     var from = MailerFacade.GetSenderFromWebConfig();
     var addresses = user.Email;
     if (!MailerFacade.AtLeastOneEmailIsValid(ref addresses)) return;
     try
     {
         if (!string.IsNullOrEmpty(from))
         {
             var parameters = new Dictionary<string, string>
                                  {
                                      {"FIRST_NAME",user.FirstName},
                                      {"LAST_NAME", user.LastName},
                                      {"ACCOUNT_NAME", account.Name},
                                      {"ADDRESS1", account.CompanyAddress1},
                                      {"ADDRESS2", account.CompanyAddress2},
                                      {"CITY", account.CompanyCity},
                                      {"STATE", account.CompanyState},
                                      {"ZIP", account.CompanyZip},
                                      {"ACCOUNT_PHONE", account.CompanyPhone},
                                      {"SUBSCRIPTION_LEVEL", account.SubscriptionLevel.Name}
                                  };
             MailerFacade.SendEmailUsingMultiPart(addresses, from, Server.MapPath("~\\App_Data\\NewSubscriptionMailTemplate.html"), Server.MapPath("~\\App_Data\\NewSubscriptionPlainMailTemplate.xml"), parameters);
         }
     }
     catch (Exception ex)
     {
         Log.Error(GetType(), string.Format("Error when sending the new subscription mail: {0}", ex), ex);
     }
 }
Пример #11
0
 internal static void UpdateUser(SEOToolsetUser user)
 {
     Provider.UpdateUser(user);
 }
Пример #12
0
 public static void CreateUser(SEOToolsetUser user, out MembershipCreateStatus status)
 {
     Provider.CreateUser(user, out status);
 }
Пример #13
0
        private static void LoadBaseAccount()
        {
            if (AccountManager.ExistsAccount("Bruce Clay, Inc")) return;
            var account = new Account { Name = AccountManager.TopLevelAccountName, CompanyName = "Bruce Clay, Inc. Internet Business Consultants", Enabled = true, SubscriptionLevel = SubscriptionManager.GetSubscriptionLevelByName("Partner") };
            var user = new SEOToolsetUser { Login = "******", Enabled = true, Email = "*****@*****.**", Password = "******", PasswordAnswer = "roca", FirstName = "Admin", LastName = "Admin" };

            AccountManager.CreateAccountAndUser(account, user);

            user = new SEOToolsetUser
                       {
                           Login = "******",
                           Enabled = true,
                           Email = "*****@*****.**",
                           Password = "******",
                           PasswordAnswer = "roca",
                           Account = account,
                           FirstName = "CLient",
                           LastName = "Client Last Name"
                       };
            MembershipCreateStatus status;
            SEOMembershipManager.CreateUser(user, out status);

            if (status != MembershipCreateStatus.Success)
            {
                throw new Exception("User Cannot be created");
            }

            SEORolesManager.AddUserToRole(user.Login, "Client");

            user = new SEOToolsetUser
            {
                Login = "******",
                Enabled = true,
                Email = "*****@*****.**",
                Password = "******",
                PasswordAnswer = "roca",
                Account = account,
                FirstName = "Paolo",
                LastName = "Guerrero"
            };
            SEOMembershipManager.CreateUser(user, out status);

            if (status != MembershipCreateStatus.Success)
            {
                throw new Exception("User Cannot be created");
            }

            SEORolesManager.AddUserToRole(user.Login, "Client");

            int idProject;
            ProjectManager.CreateProject(out idProject, "BruceClay Project", "http://www.bruceclay.com", "BruceClay, Inc.", "*****@*****.**", "contactName", "contactPhoneToValidate","",account);
            int idCompetitor;

            var project = ProjectManager.GetProjectById(idProject);

            int idProjectUser;
            ProjectManager.AddUserToProject(out idProjectUser, "bruceclayadmin", "ProjectAdministrator", project);
            ProjectManager.AddUserToProject(out idProjectUser, "bruceclayclient", "Member", project);

            ProjectManager.AddCompetitor(out idCompetitor, "http://www.SEOMagics.com", "http://www.SEOMagics.com", "Competitor Description 1", project);
            ProjectManager.AddCompetitor(out idCompetitor, "http://www.SEOEspecialist.com.pe", "http://www.SEOEspecialist", "Competitor Description 2", project);
            ProjectManager.AddCompetitor(out idCompetitor, "http://www.SEOExperts.com.ar", "http://www.SEOExperts.com.ar", "Competitor Description 3", project);
            ProjectManager.AddCompetitor(out idCompetitor, "http://www.onlineSEO.com.br", "http://www.onlineSEO.com.br", "Competitor Description 4", project);

            int idKeywordList;

            int idKeyword;

            ProjectManager.CreateKeywordList(out idKeywordList, "K List 01", project);
            var keyList = ProjectManager.GetKeywordListById(idKeywordList);
            ProjectManager.CreateKeyword(out idKeyword, "K 1", keyList);
            ProjectManager.CreateKeyword(out idKeyword, "k 2", keyList);
            ProjectManager.CreateKeyword(out idKeyword, "K 3", keyList);

            ProjectManager.CreateKeywordList(out idKeywordList, "K List 02", project);
            keyList = ProjectManager.GetKeywordListById(idKeywordList);
            ProjectManager.CreateKeyword(out idKeyword, "K 2", keyList);
            ProjectManager.CreateKeyword(out idKeyword, "K 3", keyList);
            ProjectManager.CreateKeyword(out idKeyword, "K 4", keyList);

            ProjectManager.CreateKeywordList(out idKeywordList, "Kanji keywords", project);
            keyList = ProjectManager.GetKeywordListById(idKeywordList);
            ProjectManager.CreateKeyword(out idKeyword, @"出典: フリー百科事典『ウィキペディア", keyList);
            ProjectManager.CreateKeyword(out idKeyword, @"コミュニティ・ポータル", keyList);
            ProjectManager.CreateKeyword(out idKeyword, @"報道", keyList);
        }
Пример #14
0
 public abstract void AssociateAccountToUser(Account account, SEOToolsetUser user);