private static void MakeFriends(Int32 memberId, Int32 friendId) { if (friendId == 0) { return; /* No sense to make friends. */ } if (!CanBeFriends(memberId, friendId)) { return; /* No sense to make friends again. */ } Friend.AddFriend(memberId, friendId); }
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"); } } }
// POST api/<controller> public int Post([FromBody] Friend f) { return(f.AddFriend(f.UserId, f.FriendId)); }
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); }