예제 #1
0
    public void SaveProfileStatus(string Status)
    {
        member = (Member)Session["Member"];

        if (member != null)
        {
            string EncodedStatusText = Server.HtmlEncode(Status);
            member.MyMemberProfile.TagLine = EncodedStatusText;
            member.MyMemberProfile.Save();
            MemberStatusText.UpdateStatusText(member.MemberID, EncodedStatusText);
        }
    }
예제 #2
0
        public void SetMemberStatusText(String nickname, String password, String statusText)
        {
            if (String.IsNullOrEmpty(nickname))
            {
                throw new ArgumentNullException("nickname");
            }
            if (String.IsNullOrEmpty(password))
            {
                throw new ArgumentNullException("password");
            }

            var member = Member.GetMemberViaNicknamePassword(nickname, password);

            // TODO: New way to update member status.
            MemberStatusText.UpdateStatusText(
                member.MemberID,
                Server.HtmlEncode(statusText ?? ""));
            // TODO: Comment this to make it work new way only.
            member.MyMemberProfile.TagLine = Server.HtmlEncode(statusText ?? "");
            member.MyMemberProfile.Save();
        }
예제 #3
0
    protected void btnSignup_Click(object sender, EventArgs e)
    {
        ResetLoginErrorMessages();

        bool   SignUpOkay = true;
        Member NewMember  = new Member();

        if (txtEmail.Text == string.Empty)
        {
            SignUpOkay        = false;
            txtEmail.CssClass = "form_txt formerror";
            errTxtEmail.Text  = "<span class='formerror_msg'>Blank field</span>";
        }
        else if (!RegexPatterns.TestEmailRegex(txtEmail.Text))
        {
            SignUpOkay        = false;
            txtEmail.CssClass = "form_txt formerror";
            errTxtEmail.Text  = "<span class='formerror_msg'>Invalid field</span>";
        }
        else if (!Member.IsEmailAddressAvailable(txtEmail.Text))
        {
            SignUpOkay        = false;
            txtEmail.CssClass = "form_txt formerror";
            errTxtEmail.Text  = "<span class='formerror_msg'>Address is already registered</span>";
        }
        else
        {
            txtEmail.CssClass = "form_txt";
            errTxtEmail.Text  = string.Empty;
        }



        if (txtFirstName.Text == string.Empty)
        {
            SignUpOkay            = false;
            txtFirstName.CssClass = "form_txt formerror";
            errTxtFirstName.Text  = "<span class='formerror_msg'>Blank field</span>";
        }
        else
        {
            txtFirstName.CssClass = "form_txt";
            errTxtFirstName.Text  = string.Empty;
        }

        if (txtLastName.Text == string.Empty)
        {
            SignUpOkay           = false;
            txtLastName.CssClass = "form_txt formerror";
            errTxtLastName.Text  = "<span class='formerror_msg'>Blank field</span>";
        }
        else
        {
            txtLastName.CssClass = "form_txt";
            errTxtLastName.Text  = string.Empty;
        }


        if (!RegexPatterns.TestNickname(txtNickName.Text))
        {
            SignUpOkay           = false;
            txtNickName.CssClass = "form_txt formerror";
            errTxtNickName.Text  = "<span id='spanErrNickName' class='formerror_msg'>Incorrect format</span>";
        }
        else if (!Member.IsNicknameAvailable(txtNickName.Text))
        {
            SignUpOkay            = false;
            txtFirstName.CssClass = "form_txt formerror";
            errTxtNickName.Text   = "<span id='spanErrNickName' class='formerror_msg'>Unavailable</span>";
        }
        else
        {
            txtNickName.CssClass = "form_txt";
            errTxtNickName.Text  = string.Empty;
        }

        if (txtPassword1.Text == string.Empty)
        {
            SignUpOkay            = false;
            txtPassword1.CssClass = "form_txt formerror";
            txtPassword2.CssClass = "form_txt formerror";
            errTxtPassword1.Text  = "<span id='spanErrPassword' class='formerror_msg'>Blank field</span>";
        }
        else if (txtPassword1.Text != txtPassword2.Text)
        {
            SignUpOkay            = false;
            txtPassword1.CssClass = "form_txt formerror";
            txtPassword2.CssClass = "form_txt formerror";
            errTxtPassword1.Text  = "<span  id='spanErrPassword' class='formerror_msg'>Password do no match</span>";
        }
        else
        {
            txtPassword1.CssClass = "form_txt";
            txtPassword2.CssClass = "form_txt";
            errTxtPassword1.Text  = string.Empty;
        }

        if (drpCopuntries.SelectedIndex == 0)
        {
            SignUpOkay             = false;
            drpCopuntries.CssClass = "form_txt formerror";
            errDrpCountries.Text   = "<span class='formerror_msg'>Blank field</span>";
        }
        else
        {
            drpCopuntries.CssClass = "form_txt";
            errDrpCountries.Text   = string.Empty;
        }

        if (txtZipPostcode.Text == string.Empty)
        {
            //SignUpOkay = false;
            //txtZipPostcode.CssClass = "form_txt formerror";
            //errTxtZipPostcode.Text = "<span class='formerror_msg'>Blank zip/postcode</span>";
        }
        else
        {
            txtZipPostcode.CssClass = "form_txt";
            errTxtZipPostcode.Text  = string.Empty;
        }

        Gender MemberGender = Gender.NotSet;

        if (rbPersonal.Checked)
        {
            if (rbMale.Checked == false && rbFemale.Checked == false)
            {
                SignUpOkay        = false;
                rbMale.CssClass   = "form_txt formerror";
                rbFemale.CssClass = "form_txt formerror";
                errRblGender.Text = "<span class='formerror_msg'>Blank field</span>";
            }
            else
            {
                MemberGender      = rbFemale.Checked ? Gender.Female : Gender.Male;
                rbMale.CssClass   = "";
                rbFemale.CssClass = "";
                errRblGender.Text = string.Empty;
            }
        }

        // set to a date to avoid a compile error
        DateTime DOB = DateTime.Now;

        if (rbPersonal.Checked)
        {
            try
            {
                DOB = new DateTime(Int32.Parse(drpYear.SelectedValue),
                                   Int32.Parse(drpMonth.SelectedValue),
                                   Int32.Parse(drpDay.SelectedValue));

                drpDay.CssClass   = "form_txt";
                drpMonth.CssClass = "form_txt";
                drpYear.CssClass  = "form_txt";
                errDOB.Text       = string.Empty;
            }
            catch
            {
                SignUpOkay        = false;
                drpDay.CssClass   = "form_txt formerror";
                drpMonth.CssClass = "form_txt formerror";
                drpYear.CssClass  = "form_txt formerror";
                errDOB.Text       = "<span class='formerror_msg'>Invalid date</span>";
            }
        }

        if (rbBusiness.Checked)
        {
            if (txtCompanyName.Text == string.Empty)
            {
                SignUpOkay              = false;
                errTxtCompanyName.Text  = "<span class='formerror_msg'>Blank field</span><br/>";
                txtCompanyName.CssClass = "form_txt formerror";
            }
            else
            {
                errTxtCompanyName.Text  = string.Empty;
                txtCompanyName.CssClass = "form_txt";
            }

            if (drpIndustrySector.SelectedIndex == 0)
            {
                SignUpOkay = false;
                errTxtIndustrySector.Text  = "<span class='formerror_msg'>Blank field</span><br/>";
                drpIndustrySector.CssClass = "form_txt formerror";
            }
            else
            {
                errTxtIndustrySector.Text  = string.Empty;
                drpIndustrySector.CssClass = "form_txt";
            }

            if (drpCompanySize.SelectedIndex == 0)
            {
                SignUpOkay = false;
                errTxtNumberOfEmployees.Text = "<span class='formerror_msg'>Blank field</span><br/>";
                drpCompanySize.CssClass      = "form_txt formerror";
            }
            else
            {
                errTxtNumberOfEmployees.Text = string.Empty;
                drpCompanySize.CssClass      = "form_txt";
            }

            if (drpYearFounded.SelectedIndex == 0)
            {
                SignUpOkay              = false;
                errTxtYearFounded.Text  = "<span class='formerror_msg'>Blank field</span><br/>";
                drpYearFounded.CssClass = "form_txt formerror";
            }
            else
            {
                errTxtYearFounded.Text  = string.Empty;
                drpYearFounded.CssClass = "form_txt";
            }
        }

        string CaptchaAttempt = txtCaptcha.Text.Trim().ToUpper();

        if (SignupCaptcha.Validate(CaptchaAttempt))
        {
            // successful
            errCaptcha.Text = string.Empty;
            txtCaptcha.Text = string.Empty;
        }
        else
        {
            errCaptcha.Text = "<span class='formerror_msg'>Incorrect, please try again</span><br/>";
            SignUpOkay      = false;
            txtCaptcha.Text = string.Empty;
        }


        if (chbAgree.Checked == false)
        {
            SignUpOkay       = false;
            errChbAgree.Text = "<span class='formerror_msg'>Agree to terms and conditions</span><br/>";
        }
        else
        {
            errChbAgree.Text = string.Empty;
        }


        if (SignUpOkay)
        {
            Database      db          = DatabaseFactory.CreateDatabase();
            DbConnection  conn        = db.CreateConnection();
            DbTransaction Transaction = null;

            try
            {
                conn.Open();
                Transaction = conn.BeginTransaction();

                NewMember.Email    = txtEmail.Text;
                NewMember.NickName = txtNickName.Text;

                if (rbPersonal.Checked)
                {
                    NewMember.FirstName = txtFirstName.Text;
                    NewMember.LastName  = txtLastName.Text;
                }
                else if (rbBusiness.Checked)
                {
                    // set the company name as the first name for display purposes
                    NewMember.FirstName = txtCompanyName.Text;
                }


                NewMember.AccountType = (rbPersonal.Checked) ? 0 : 1;
                NewMember.Password    = txtPassword1.Text;
                NewMember.ISOCountry  = drpCopuntries.SelectedValue;
                NewMember.Gender      = (int)MemberGender;
                NewMember.ZipPostcode = txtZipPostcode.Text;
                NewMember.DOB         = DOB;
                NewMember.ProfilePhotoResourceFileID = 1;
                NewMember.WebMemberID = Next2Friends.Misc.UniqueID.NewWebID();
                NewMember.CreatedDT   = DateTime.Now;
                NewMember.Save(db);

                // Ceate the business Account
                if (rbBusiness.Checked)
                {
                    Business business = new Business();
                    business.MemberID       = NewMember.MemberID;
                    business.CompanyName    = txtCompanyName.Text;
                    business.IndustrySector = drpIndustrySector.SelectedValue;
                    business.YearFounded    = Int32.Parse(drpYearFounded.SelectedValue);
                    business.CompanySize    = drpCompanySize.Text;
                    business.IndustrySector = drpIndustrySector.SelectedValue;
                    business.Save(db);

                    IMSPlan imsPlan = new IMSPlan();
                    imsPlan.BusinessID = business.BusinessID;
                    imsPlan.Save(db);
                }


                //ResourceFile.CreateUserDirectories(NewMember);
                TEMPCreateUserDirectories(NewMember);

                PhotoCollection DefaultGallery = new PhotoCollection();
                DefaultGallery.WebPhotoCollectionID = Next2Friends.Misc.UniqueID.NewWebID();
                DefaultGallery.MemberID             = NewMember.MemberID;
                DefaultGallery.DTCreated            = DateTime.Now;
                DefaultGallery.Name        = NewMember.NickName + "'s Gallery";
                DefaultGallery.Description = "My First Gallery!";
                DefaultGallery.Save(db);

                string StatusText = "New to next2Friends!";

                // create a new member profile for the meber
                Next2Friends.Data.MemberProfile profile = new Next2Friends.Data.MemberProfile();
                profile.MemberID                 = NewMember.MemberID;
                profile.HomeTown                 = txtCity.Text;
                profile.DTLastUpdated            = DateTime.Now;
                profile.DefaultPhotoCollectionID = DefaultGallery.PhotoCollectionID;
                profile.TagLine = StatusText;
                profile.Save(db);

                MemberStatusText.UpdateStatusText(NewMember.MemberID, StatusText);

                Message message = new Message();
                message.Body         = "Welcome to Next2Friends";
                message.WebMessageID = Next2Friends.Misc.UniqueID.NewWebID();
                message.MemberIDFrom = 31;
                message.MemberIDTo   = NewMember.MemberID;
                message.DTCreated    = DateTime.Now;
                message.Save(db);
                message.InReplyToID = message.MessageID;
                message.Save(db);

                // create the default settings for the member
                MemberSettings settings = new MemberSettings();

                settings.NotifyNewPhotoComment   = true;
                settings.NotifyNewProfileComment = true;
                settings.NotifyNewVideoComment   = true;
                settings.NotifyOnAAFComment      = true;
                settings.NotifyOnFriendRequest   = true;
                settings.NotifyOnNewMessage      = true;
                settings.NotifyOnNewsLetter      = true;
                settings.NotifyOnSubscriberEvent = true;

                settings.MemberID = NewMember.MemberID;
                settings.Save(db);

                MatchProfile matchProfile = new MatchProfile();
                matchProfile.MemberID = NewMember.MemberID;
                matchProfile.Save(db);

                Device Device = new Device();
                Device.MemberID             = NewMember.MemberID;
                Device.PrivateEncryptionKey = Next2Friends.Misc.UniqueID.NewEncryptionKey();
                Device.CreatedDT            = DateTime.Now;
                Device.DeviceTagID          = Guid.NewGuid().ToString();
                Device.Save(db);

                OnlineNow now = new OnlineNow();
                now.MemberID = NewMember.MemberID;
                now.DTOnline = DateTime.Now;
                now.Save(db);

                Session["Member"] = NewMember;
                Transaction.Commit();

                Utility.AddToLoggedIn();

                EmailReferral emailReferral = new EmailReferral();
                emailReferral.Email       = txtReferralEmail.Text;
                emailReferral.NewMemberID = NewMember.MemberID;
                emailReferral.DTCreated   = DateTime.Now;
                emailReferral.Save();

                // this denotes that the user landed on the site from a referral
                int ReferralContactID = Referral.ProcessSignupFromReferral(this.Context, NewMember.MemberID);

                // search the contact import table for any users that have files a friend request
                FriendRequest.CreateFriendRequestsFromImport(NewMember, ReferralContactID);

                try
                {
                    // Add Lawrence as Auto Friend
                    Friend.AddFriend(1, NewMember.MemberID);
                    // Add Anthony as Auto Friend
                    Friend.AddFriend(3, NewMember.MemberID);
                    // Add Hans as Auto Friend
                    Friend.AddFriend(24, NewMember.MemberID);
                    // Add Becca as Auto Friend
                    Friend.AddFriend(30, NewMember.MemberID);

                    Utility.ContentViewed(new Member(1), NewMember.MemberID, CommentType.Member);
                    Utility.ContentViewed(new Member(3), NewMember.MemberID, CommentType.Member);
                    Utility.ContentViewed(new Member(24), NewMember.MemberID, CommentType.Member);
                    Utility.ContentViewed(new Member(30), NewMember.MemberID, CommentType.Member);
                }
                catch { }
            }
            catch (Exception ex)
            {
                Transaction.Rollback();
                throw ex;
            }
            finally
            {
                conn.Close();

                Session["SignedUp"] = true;

                // send the member to the second page of signup
                Response.Redirect("/settings/?signup=true");
            }
        }
    }
예제 #4
0
        private static void MemberSetUp(Member member)
        {
            CreateUserDirectories(member);

            var defaultGallery = new PhotoCollection()
            {
                WebPhotoCollectionID = UniqueID.NewWebID(),
                MemberID             = member.MemberID,
                DTCreated            = DateTime.Now,
                Name        = member.NickName + "'s Gallery",
                Description = "My First Gallery!"
            };

            defaultGallery.Save();

            string StatusText = "New to next2Friends!";

            /* Create a new member profile for the member. */
            var profile = new MemberProfile()
            {
                MemberID                 = member.MemberID,
                DTLastUpdated            = DateTime.Now,
                DefaultPhotoCollectionID = defaultGallery.PhotoCollectionID,
                TagLine = StatusText
            };

            profile.Save();

            MemberStatusText.UpdateStatusText(member.MemberID, StatusText);

            var message = new Message()
            {
                Body         = "Welcome to Next2Friends",
                WebMessageID = UniqueID.NewWebID(),
                MemberIDFrom = 31,
                MemberIDTo   = member.MemberID,
                DTCreated    = DateTime.Now
            };

            message.Save();
            message.InReplyToID = message.MessageID;
            message.Save();

            /* Create the default settings for the member. */
            var settings = new MemberSettings()
            {
                NotifyNewPhotoComment   = true,
                NotifyNewProfileComment = true,
                NotifyNewVideoComment   = true,
                NotifyOnAAFComment      = true,
                NotifyOnFriendRequest   = true,
                NotifyOnNewMessage      = true,
                NotifyOnNewsLetter      = true,
                NotifyOnSubscriberEvent = true,
                MemberID = member.MemberID
            };

            settings.Save();

            var matchProfile = new MatchProfile()
            {
                MemberID = member.MemberID
            };

            matchProfile.Save();

            var device = new Device()
            {
                MemberID             = member.MemberID,
                PrivateEncryptionKey = UniqueID.NewEncryptionKey(),
                CreatedDT            = DateTime.Now,
                DeviceTagID          = Guid.NewGuid().ToString()
            };

            device.Save();

            // Lawrence: Added block to register default friends and profile views
            try
            {
                // Add Lawrence as Auto Friend
                Friend.AddFriend(1, member.MemberID);
                // Add Anthony as Auto Friend
                Friend.AddFriend(3, member.MemberID);
                // Add Hans as Auto Friend
                Friend.AddFriend(24, member.MemberID);
                // Add Becca as Auto Friend
                Friend.AddFriend(30, member.MemberID);

                ContentViewed(new Member(1), member.MemberID, CommentType.Member);
                ContentViewed(new Member(3), member.MemberID, CommentType.Member);
                ContentViewed(new Member(24), member.MemberID, CommentType.Member);
                ContentViewed(new Member(30), member.MemberID, CommentType.Member);
            }
            catch { }

            SetOnlineNow(member.MemberID);
        }