示例#1
0
    /// <summary>
    /// The user wishes to logout
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnLogout_Click(object sender, EventArgs e)
    {
        //nullify the session and page object
        member = (Member)Session["Member"];

        if (member != null)
        {
            try
            {
                MemberSettings ms = member.MemberSettings[0];
                ms.AutoLoadChatMode = -1;
                ms.Save();
            }
            catch { }

            try
            {
                UserStatus.RemoveUser(member.WebMemberID);

                //Next2Friends.ChatClient.ChatLogic.LogoutOfChatServer(member.WebMemberID);
            }
            catch { }
        }

        Session["Member"] = null;
        member            = null;

        Response.Cookies["LastActivity"].Value   = null;
        Response.Cookies["LastActivity"].Expires = System.DateTime.Now.AddMonths(-1);



        Response.Redirect("/breakout.aspx");
    }
示例#2
0
    public int Logout()
    {
        try
        {
            HttpContext.Current.Session["LoggedIntoChat"] = false;
            HttpContext.Current.Session["ChatMode"]       = -1;

            HttpContext.Current.Session["AutoLoadChatMode"] = -1;

            Member member = (Member)HttpContext.Current.Session["Member"];

            try
            {
                ChatLogic.Logoff(member.WebMemberID);
            }
            catch { }

            MemberSettings ms = member.MemberSettings[0];
            ms.AutoLoadChatMode = -1;
            ms.Save();
        }
        catch { }

        return(0);
    }
示例#3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            settings = MemberSettings.GetMemberSettingsByMemberID(member.MemberID);

            chbNewMessage.Checked            = settings.NotifyOnNewMessage;
            chbNewAAFComment.Checked         = settings.NotifyOnAAFComment;
            chbNewFriendRequest.Checked      = settings.NotifyOnFriendRequest;
            chbSubscriberEvent.Checked       = settings.NotifyOnSubscriberEvent;
            chbNewsLetter.Checked            = settings.NotifyOnNewsLetter;
            chbNewProfileComment.Checked     = settings.NotifyNewProfileComment;
            chbNotifyNewPhotoComment.Checked = settings.NotifyNewPhotoComment;
            chbNotifyNewVideoComment.Checked = settings.NotifyNewVideoComment;
            chbNotifyNewVideo.Checked        = settings.NotifyOnNewVideo;
            chbNotifyNewBlog.Checked         = settings.NotifyOnNewBlog;

            txtEmail.Text = member.Email;
        }

        string strSignup = Request.Params["signup"];

        if (strSignup != null)
        {
            btnSave.Text = "Next";
            IsSignup     = true;
        }

        member.DefaultPhoto = new ResourceFile(member.ProfilePhotoResourceFileID);
        PhotoURL            = member.DefaultPhoto.FullyQualifiedURL;
        Session["Member"]   = member;
    }
    protected void CheckBoxBarreNavigation_CheckedChanged(object sender, EventArgs e)
    {
        MemberSettings membreSettings = SessionState.MemberSettings;

        membreSettings.BarreNavigation = CheckBoxBarreNavigation.Checked;
        membreSettings.Update();
        SessionState.MemberSettings = null;
        Response.Redirect(Request.RawUrl);
    }
    protected void CheckBoxMenuToujoursVisible_CheckedChanged(object sender, EventArgs e)
    {
        MemberSettings membreSettings = SessionState.MemberSettings;

        membreSettings.MenuToujoursVisible = CheckBoxMenuToujoursVisible.Checked;
        membreSettings.Update();
        SessionState.MemberSettings = null;
        Response.Redirect(Request.RawUrl);
    }
    protected void CheckBoxAideContextuelle_CheckedChanged(object sender, EventArgs e)
    {
        MemberSettings membreSettings = SessionState.MemberSettings;

        membreSettings.AfficherAide = CheckBoxAideContextuelle.Checked;
        membreSettings.Update();
        SessionState.MemberSettings = null;
        Response.Redirect(Request.RawUrl);
    }
示例#7
0
 public MemberService(
     IDistributedCache distributedCache,
     IEventPublisher eventPublisher,
     IEncryptionService encryptionService,
     MemberSettings memberSettings)
 {
     _distributedCache  = distributedCache;
     _eventPublisher    = eventPublisher;
     _encryptionService = encryptionService;
     _memberSettings    = memberSettings;
 }
    protected void DropDownListMenuToujoursVisiblePosition_SelectedIndexChanged(object sender, EventArgs e)
    {
        string position = "";

        position = DropDownListMenuToujoursVisiblePosition.SelectedValue;
        MemberSettings membreSettings = SessionState.MemberSettings;

        membreSettings.MenuToujoursVisiblePosition = position;
        membreSettings.Update();
        SessionState.MemberSettings = null;
        Response.Redirect(Request.RawUrl);
    }
示例#9
0
        private static bool TryGetValueDiff(object x, object y, MemberSettings settings, out ValueDiff diff)
        {
            if (EqualBy.TryGetValueEquals(x, y, settings, out var result))
            {
                diff = result
                           ? null
                           : new ValueDiff(x, y);

                return(true);
            }

            diff = null;
            return(false);
        }
示例#10
0
        private static string DiffMethodName(this MemberSettings settings)
        {
            if (settings is PropertiesSettings)
            {
                return(nameof(PropertyValues));
            }

            if (settings is FieldsSettings)
            {
                return(nameof(FieldValues));
            }

            throw Throw.ExpectedParameterOfTypes <FieldsSettings, PropertiesSettings>("DiffMethodName failed.");
        }
 private static void Fill(ref DataRow row, MemberSettings obj)
 {
     row["Approuve"]                    = obj.Approuve;
     row["MenuExpert"]                  = obj.MenuExpert;
     row["MenuColonne"]                 = obj.MenuColonne;
     row["AfficherAide"]                = obj.AfficherAide;
     row["AfficherAideEnLigne"]         = obj.AfficherAideEnLigne;
     row["BarreNavigation"]             = obj.BarreNavigation;
     row["MenuToujoursVisible"]         = obj.MenuToujoursVisible;
     row["MenuToujoursVisiblePosition"] = obj.MenuToujoursVisiblePosition;
     row["PrevenirNouvelleReponse"]     = obj.PrevenirNouvelleReponse;
     row["BoutonQuestionSuivanteTexte"] = obj.BoutonQuestionSuivanteTexte;
     row["BoutonQuestionSuivanteAlt"]   = obj.BoutonQuestionSuivanteAlt;
     row["TaillePageQuestions"]         = obj.TaillePageQuestions;
 }
示例#12
0
        private static bool TryGetValueDiff(object x, object y, MemberSettings settings, out ValueDiff diff)
        {
            bool result;
            if (EqualBy.TryGetValueEquals(x, y, settings, out result))
            {
                diff = result
                           ? null
                           : new ValueDiff(x, y);

                return true;
            }

            diff = null;
            return false;
        }
示例#13
0
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Returns HashCode</returns>
 public override int GetHashCode()
 {
     return(String.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|",
                          FunSettings?.GetHashCode() ?? 0,
                          GuestSettings?.GetHashCode() ?? 0,
                          MemberSettings?.GetHashCode() ?? 0,
                          MessagingSettings?.GetHashCode() ?? 0,
                          Security?.GetHashCode() ?? 0,
                          Channels?.GetHashCode() ?? 0,
                          Apps?.GetHashCode() ?? 0,
                          Specialization.GetHashCode(),
                          CloneFrom?.GetHashCode() ?? 0,
                          Archived.GetHashCode(),
                          GroupId?.GetHashCode() ?? 0
                          ).GetHashCode());
 }
示例#14
0
    public int Login(int x, bool rem)
    {
        Member member = (Member)HttpContext.Current.Session["Member"];

        HttpContext.Current.Session["fr"] = DateTime.Now;

        try
        {
            ChatLogic.Login(member);
        }
        catch { }

        if (member != null)
        {
            try
            {
                HttpContext.Current.Session["LoggedIntoChat"] = true;
                HttpContext.Current.Session["ChatMode"]       = x;

                // persist autoload settings
                if (rem)
                {
                    HttpContext.Current.Session["AutoLoadChatMode"] = x;
                    MemberSettings ms = member.MemberSettings[0];
                    ms.AutoLoadChatMode = x;
                    ms.Save();
                }
            }
            catch
            {
                try
                {
                    ChatLogic.Logoff(member.WebMemberID);
                }
                catch { }
            }

            return(0);
        }

        else
        {
            return(-1);
        }
    }
示例#15
0
        private static bool EnumerableEquals(
            object x,
            object y,
            MemberSettings settings,
            ReferencePairCollection referencePairs)
        {
            if (ListEqualByComparer.TryGetOrCreate(x, y, out var comparer) ||
                ReadOnlyListEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                SetEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                ArrayEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                DictionaryEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                ReadOnlyDictionaryEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                EnumerableEqualByComparer.TryGetOrCreate(x, y, out comparer))
            {
                return(comparer.Equals(x, y, settings, referencePairs));
            }

            throw Throw.ShouldNeverGetHereException($"Could not compare enumerables of type {x.GetType().PrettyName()}");
        }
示例#16
0
        private static bool EnumerableEquals(
            object x,
            object y,
            MemberSettings settings,
            ReferencePairCollection referencePairs)
        {
            EqualByComparer comparer;
            if (ListEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                ReadOnlyListEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                SetEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                ArrayEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                DictionaryEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                ReadOnlyDictionaryEqualByComparer.TryGetOrCreate(x, y, out comparer) ||
                EnumerableEqualByComparer.TryGetOrCreate(x, y, out comparer))
            {
                return comparer.Equals(x, y, settings, referencePairs);
            }

            throw Throw.ShouldNeverGetHereException($"Could not compare enumerables of type {x.GetType().PrettyName()}");
        }
        public static int Update(string membre, MemberSettings obj)
        {
            string _xmlFile = "MemberSettings/" + membre.Trim() + ".xml";

            DataSet dataSet = XmlUtil.ReadAndValidateXml(_xmlFile, _xsdFile);
            DataRow dataRow = dataSet.Tables[0].Rows[0];

            Fill(ref dataRow, obj);

            try
            {
                XmlUtil.DataSetWriteXml(ref dataSet, _xmlFile);
            }
            catch
            {
                return(0);
            }

            return(1);
        }
        public static MemberSettings GetMemberSettings(string membre)
        {
            string _xmlFile = "MemberSettings/" + membre.Trim() + ".xml";

            string fileName = HttpContext.Current.Request.MapPath("~/App_Data/" + _xmlFile);

            if (File.Exists(fileName) == false)
            {
                // Copie du fichier de l'intervieweur pour un membre qui n'a pas de fichier de settings
                string dir = HttpContext.Current.Request.MapPath("~/App_Data/MemberSettings/");
                File.Copy(dir + "intervieweur.xml", dir + membre.Trim() + ".xml");
            }

            DataSet dataSet = new DataSet();

            dataSet = XmlUtil.ReadAndValidateXml(_xmlFile, _xsdFile);
            DataRow        dataRow        = dataSet.Tables[0].Rows[0];
            MemberSettings memberSettings = MemberSettings.Fill(dataRow);

            return(memberSettings);
        }
示例#19
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");
            }
        }
    }
示例#20
0
 /// <summary>
 /// Compare <paramref name="x"/> with <paramref name="y"/>
 /// </summary>
 /// <param name="x">The x value.</param>
 /// <param name="y">The y value.</param>
 /// <param name="settings">The settings that specifies how comparison is performed.</param>
 /// <param name="referencePairs">
 /// The already compared items. This is used to stop infinite recursion when there are reference loops.
 /// </param>
 /// <returns>True if <paramref name="x"/> and <paramref name="y"/> are equal.</returns>
 public abstract bool Equals(
     object x,
     object y,
     MemberSettings settings,
     ReferencePairCollection referencePairs);
示例#21
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);
        }
示例#22
0
 public Recursive(IRefCounted<ReferencePair> pair, MemberSettings settings)
 {
     this.Next = TrackerCache.GetOrAdd(pair.Value.X, pair.Value.Y, settings, x => new Recursive(x, settings));
 }
 public MemberContactService(IConfigurationBuilder configurationBuilder, IUriContentReaderService contentReaderService)
 {
     _contentReaderService = contentReaderService;
     _settings             = configurationBuilder.GetConfiguration <MemberSettings>("Members");
 }
示例#24
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            if (Request["guid"] == null)
            {
                ValidationMessage.Text = "Erreur";

                // DEBUG obtenir le guid d'un membre
                //MembershipUser user = Membership.GetUser( User.Identity.Name );
                //Guid MembreGUID = new Guid( user.ProviderUserKey.ToString() );
                //string guid = MembreGUID.ToString();
            }
            else
            {
                Guid           MembreGUID = new Guid(Request.QueryString["guid"]);
                MembershipUser user       = Membership.GetUser(MembreGUID);
                if (user == null)
                {
                    ValidationMessage.Text = "Erreur, vous n'êtes pas membre.";
                }
                else
                {
                    MemberSettings memberSettings = MemberSettings.GetMemberSettings(user.UserName);

                    // L'utilisateur a deja ete approuve, precaution pour qu'un petit malin qui serait
                    // desapprouve par l'admin retrouve l'email d'approbation et reclique dessus
                    if (memberSettings.Approuve == true)
                    {
                        ValidationMessage.Text = "Vous êtes déjà approuvé, contactez l'administrateur.";
                    }
                    else
                    {
                        memberSettings.Approuve = true;
                        memberSettings.Update(user.UserName, memberSettings);
                        user.IsApproved = true;
                        Membership.UpdateUser(user);
                        ButtonLogin.Visible     = true;
                        ValidationMessage.Text += "Votre enregistrement est maintenant validé.<br/>";
                        ValidationMessage.Text += "Vous pouvez vous connecter à l'application.<br/>";

                        //
                        // Envoyer l'email pour prevenir l'administrateur de l'approbation d'un utilisateur
                        //
                        if (Global.SettingsXml.MembrePrevenir)
                        {
                            string sujetEmail2 = "Approbation par le formulaire d'un nouvel utilisateur sur le site : " + Global.SettingsXml.SiteNom;
                            string bodyEmail2  = "";

                            MemberInfo membre = MemberInfo.Get(MembreGUID);
                            bodyEmail2 += "Nom d'utilisateur : " + membre.NomUtilisateur + "<br/>";
                            bodyEmail2 += "Mot de passe : " + membre.MotDePasse + "<br/>";
                            bodyEmail2 += "Nom : " + membre.Nom + "<br/>";
                            bodyEmail2 += "Prénom : " + membre.Prenom + "<br/>";
                            bodyEmail2 += "Société : " + membre.Societe + "<br/>";
                            bodyEmail2 += "Téléphone : " + membre.Telephone + "<br/>";
                            bodyEmail2 += "Adresse : " + membre.Adresse + "<br/>";
                            bodyEmail2 += "Email : " + user.Email + "<br/>";

                            bodyEmail2 += "<br/>Accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>";

                            MemberInfo     member = MemberInfo.GetMemberInfo("admin");
                            MembershipUser admin  = Membership.GetUser(member.MembreGUID);

                            Courriel.EnvoyerEmailToAssynchrone(member.MembreGUID, admin.Email, sujetEmail2, bodyEmail2);
                        }
                    }
                }
            }
        }

        ValiderMessage();
    }
示例#25
0
    protected void btnSignup2_Click(object sender, EventArgs e)
    {
        bool SignUpOkay = true;

        if (txtFirstName.Text.Trim() == string.Empty)
        {
            SignUpOkay           = false;
            errTxtFirstName.Text = "<span class='formerror_msg'>No first name</span>";
        }
        else
        {
            errTxtFirstName.Text = string.Empty;
        }

        if (txtLastName.Text.Trim() == string.Empty)
        {
            SignUpOkay          = false;
            errTxtLastName.Text = "<span class='formerror_msg'>No last name</span>";
        }
        else
        {
            errTxtLastName.Text = string.Empty;
        }

        if (txtPassword.Text == string.Empty)
        {
            SignUpOkay          = false;
            errTxtPassword.Text = "<span class='formerror_msg'>No password</span>";
        }
        else if (txtPassword.Text != txtConfirm.Text)
        {
            SignUpOkay          = false;
            errTxtPassword.Text = "<span class='formerror_msg'>Passwords do no match</span>";
        }
        else if (!RegexPatterns.TestPassword(txtPassword.Text))
        {
            SignUpOkay          = false;
            errTxtPassword.Text = "minimum length 7 characters";
        }
        else
        {
            errTxtPassword.Text = string.Empty;
        }

        if (!cbTOS.Checked)
        {
            SignUpOkay     = false;
            errChbTOS.Text = "<span class='formerror_msg'>You must agree to the tos</span>";
        }
        else
        {
            errChbTOS.Text = string.Empty;
        }

        if (SignUpOkay)
        {
            NewMember = (Member)Session["Member"];

            CurrentStage = MobileSignupStage.Complete;

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

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

                NewMember.FirstName = txtFirstName.Text;
                NewMember.LastName  = txtLastName.Text;


                NewMember.AccountType = 0;
                NewMember.Password    = txtPassword.Text;

                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);

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

                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();
            }
            catch (Exception ex)
            {
                Transaction.Rollback();
                throw ex;
            }
            finally
            {
                conn.Close();
            }
        }
        else
        {
            CurrentStage = MobileSignupStage.Stage2;
        }
    }
示例#26
0
 public Recursive(IRefCounted <ReferencePair> pair, MemberSettings settings)
 {
     this.Next = TrackerCache.GetOrAdd(pair.Value.X, pair.Value.Y, settings, x => new Recursive(x, settings));
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            ScoreCollection scores = ScoreCollection.GetScoreQuestionnaire(SessionState.Questionnaire.QuestionnaireID);
            if (scores.Count > 0)
            {
                PanelScore.Visible = true;

                int scoreTotal      = 0;
                int scoreInterviewe = 0;
                foreach (PollQuestion question in SessionState.Questions)
                {
                    PollAnswerCollection answers = PollAnswerCollection.GetByPollQuestionID(question.PollQuestionId);
                    foreach (PollAnswer answer in answers)
                    {
                        PollVoteCollection pvc = SessionState.Votes.FindByAnswerID(answer.PollAnswerId);
                        if (pvc.Count > 0)
                        {
                            foreach (PollVote vote in pvc)
                            {
                                scoreInterviewe += answer.Score;
                            }
                        }
                        scoreTotal += answer.Score;
                    }
                }

                LabelResultat.Text = "Vous avez un score de " + scoreInterviewe.ToString() + " sur un total de " + scoreTotal.ToString();
                foreach (Score score in scores)
                {
                    if (scoreInterviewe >= score.ScoreMin && scoreInterviewe <= score.ScoreMax)
                    {
                        LabelScoreTexte.Text += score.ScoreTexte;
                    }
                }
            }

            // Ne pas envoyer d'email quand c'est un intervieweur ou l'admin
            if (User.Identity.IsAuthenticated == false)
            {
                MemberInfo     membre         = MemberInfo.Get(SessionState.Questionnaire.MembreGUID);
                MemberSettings memberSettings = MemberSettings.GetMemberSettings(membre.NomUtilisateur);
                if (memberSettings.PrevenirNouvelleReponse)
                {
                    string sujetEmail = "Nouvelle réponse au questionnaire " + SessionState.Questionnaire.Description;
                    string bodyEmail  = "";
                    if (SessionState.Questionnaire.Anonymat == false)
                    {
                        bodyEmail += "Nom : " + SessionState.Personne.Nom + "<br/>";
                        bodyEmail += "Prénom : " + SessionState.Personne.Prenom + "<br/>";
                        bodyEmail += "Email : " + SessionState.Personne.EmailBureau + "<br/>";
                        bodyEmail += "Téléphone : " + SessionState.Personne.TelephonePerso + "<br/>";
                    }
                    Limitation limitations = new Limitation(membre.MembreGUID);
                    bodyEmail += "<br/>Abonnement crédits réponses : " + (limitations.NombreReponses - limitations.Reponses).ToString() + "<br/>";
                    bodyEmail += "<br/>Accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>";

                    //Courriel.EnvoyerEmailNouvelleReponse( sujetEmail, bodyEmail );
                    Guid smtpMembreGUID = SessionState.Questionnaire.MembreGUID;
                    Courriel.EnvoyerEmailNouvelleReponseAssynchrone(smtpMembreGUID, sujetEmail, bodyEmail);
                }
            }
        }
    }
示例#28
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        settings = MemberSettings.GetMemberSettingsByMemberID(member.MemberID);

        settings.NotifyOnNewMessage      = chbNewMessage.Checked;
        settings.NotifyOnAAFComment      = chbNewAAFComment.Checked;
        settings.NotifyOnFriendRequest   = chbNewFriendRequest.Checked;
        settings.NotifyOnSubscriberEvent = chbSubscriberEvent.Checked;
        settings.NotifyOnNewsLetter      = chbNewsLetter.Checked;
        settings.NotifyNewProfileComment = chbNewProfileComment.Checked;
        settings.NotifyNewPhotoComment   = chbNotifyNewPhotoComment.Checked;
        settings.NotifyNewVideoComment   = chbNotifyNewVideoComment.Checked;

        settings.NotifyOnNewVideo = chbNotifyNewVideo.Checked;
        settings.NotifyOnNewBlog  = chbNotifyNewBlog.Checked;


        if (RegexPatterns.TestEmailRegex(txtEmail.Text))
        {
            if (member.Email.ToLower().Trim() != txtEmail.Text.ToLower().Trim())
            {
                if (Member.IsEmailAddressAvailable(txtEmail.Text))
                {
                    member.Email         = txtEmail.Text;
                    PasswordErrorMessage = string.Empty;
                    txtEmail.CssClass    = "form_txt";
                    EmailErrorMessage    = "Email address changed";
                    EmailMessageCss      = "floatedOK";
                }
                else
                {
                    EmailMessageCss   = "floatedWarning";
                    txtEmail.CssClass = "form_txt formerror";
                    EmailErrorMessage = "Email address already in use";
                }
            }
            else
            {
                PasswordErrorMessage = string.Empty;
                txtEmail.CssClass    = "form_txt";
                EmailErrorMessage    = "";
                EmailMessageCss      = "floatedOK";
            }
        }
        else
        {
            txtEmail.CssClass = "form_txt formerror";
            EmailErrorMessage = "Invalid Email address";
            EmailMessageCss   = "floatedWarning";
        }

        txtNewPassword.CssClass     = "form_txt";
        txtConfirmPassword.CssClass = "form_txt";
        txtOldPassword.CssClass     = "form_txt";

        if (txtOldPassword.Text != string.Empty || txtNewPassword.Text != string.Empty || txtConfirmPassword.Text != string.Empty)
        {
            bool PasswordsMatch           = false;
            bool PasswordsMeetRequirement = false;
            bool PasswordCorrect          = false;

            if (txtOldPassword.Text == member.Password)
            {
                PasswordCorrect = true;
            }

            if (txtNewPassword.Text == txtConfirmPassword.Text)
            {
                PasswordsMatch = true;

                if (RegexPatterns.TestPassword(txtNewPassword.Text))
                {
                    member.Password          = txtNewPassword.Text;
                    PasswordsMeetRequirement = true;
                }
            }

            PasswordErrorMessage = string.Empty;

            if (!PasswordCorrect)
            {
                PasswordErrorMessage    = "Old password is incorrect";
                txtOldPassword.CssClass = "form_txt formerror";
                PasswordMessageCss      = "floatedWarning";
            }
            else if (!PasswordsMatch)
            {
                PasswordErrorMessage        = "Passwords dont match";
                txtNewPassword.CssClass     = "form_txt formerror";
                txtConfirmPassword.CssClass = "form_txt formerror";
                PasswordMessageCss          = "floatedWarning";
            }
            else if (!PasswordsMeetRequirement)
            {
                PasswordErrorMessage        = "Password must be 7 characters or more";
                txtNewPassword.CssClass     = "form_txt formerror";
                txtConfirmPassword.CssClass = "form_txt formerror";
                PasswordMessageCss          = "floatedWarning";
            }
            else
            {
                PasswordErrorMessage = "Password changed";
                PasswordMessageCss   = "floatedOK";
            }
        }

        settings.Save();
        member.Save();

        string strSignup = Request.Params["signup"];

        if (strSignup != null)
        {
            Response.Redirect("/invite/?signup=true");
        }
    }
示例#29
0
 /// <summary>
 /// Compare <paramref name="x"/> with <paramref name="y"/>
 /// </summary>
 /// <param name="x">The x value.</param>
 /// <param name="y">The y value.</param>
 /// <param name="settings">The settings that specifies how comparison is performed.</param>
 /// <param name="referencePairs">
 /// The already compared items. This is used to stop infinite recursion when there are reference loops.
 /// </param>
 /// <returns>True if <paramref name="x"/> and <paramref name="y"/> are equal.</returns>
 public abstract bool Equals(
     object x,
     object y,
     MemberSettings settings,
     ReferencePairCollection referencePairs);