public static bool IsVoteValueAllowed(AskAFriend AAF, int QuestionResponseValue) { bool CanVote = false; // make sure the at the right value was passed to the server. the back button may have been used and the user // may send the a value to the next question that isnt allowed. for example '10' when the question can only be 1 or 2 if (AAF.ResponseType == (int)AskResponseType.AB || AAF.ResponseType == (int)AskResponseType.AB) { if (QuestionResponseValue == 1 || QuestionResponseValue == 2) { CanVote = true; } } else if (AAF.ResponseType == (int)AskResponseType.MultipleSelect) { if (QuestionResponseValue > 0 && (QuestionResponseValue < AAF.NumberOfPhotos + 1)) { CanVote = true; } } else if (AAF.ResponseType == (int)AskResponseType.RateTo10) { if (QuestionResponseValue > 0 && QuestionResponseValue < 11) { CanVote = true; } } return CanVote; }
/// <summary> /// overload using a byte array /// </summary> /// <param name="member"></param> /// <param name="PhotoCollectionID"></param> /// <param name="byteImage"></param> public static void ProcessAAFPhoto(Member member, AskAFriend AAF, string PhotoBase64String, int IndexOrder) { byte[] byteImage = Convert.FromBase64String(PhotoBase64String); Image image = ByteArrayToImage(byteImage); ProcessAAFPhoto(member, AAF, image, IndexOrder); }
public static bool IsVoteValueAllowed(AskAFriend AAF, int QuestionResponseValue) { bool CanVote = false; // make sure the at the right value was passed to the server. the back button may have been used and the user // may send the a value to the next question that isnt allowed. for example '10' when the question can only be 1 or 2 if (AAF.ResponseType == (int)AskResponseType.AB || AAF.ResponseType == (int)AskResponseType.AB) { if (QuestionResponseValue == 1 || QuestionResponseValue == 2) { CanVote = true; } } else if (AAF.ResponseType == (int)AskResponseType.MultipleSelect) { if (QuestionResponseValue > 0 && (QuestionResponseValue < AAF.NumberOfPhotos + 1)) { CanVote = true; } } else if (AAF.ResponseType == (int)AskResponseType.RateTo10) { if (QuestionResponseValue > 0 && QuestionResponseValue < 11) { CanVote = true; } } return(CanVote); }
/// <summary> /// Takes an prepopulated IDataReader and creates an array of AskAFriend. This function should be used internally only. /// </summary> public static List <AskAFriend> PopulateAskAFriendWithJoin(IDataReader dr) { List <AskAFriend> arr = new List <AskAFriend>(); ColumnFieldList list = new ColumnFieldList(dr); AskAFriend AAF; while (dr.Read()) { AAF = new AskAFriend(); AAF._askAFriendID = (int)dr["AskAFriendID"]; AAF._memberID = (int)dr["MemberID"]; AAF._webAskAFriendID = (string)dr["WebAskAFriendID"]; AAF._numberOfPhotos = (int)dr["NumberOfPhotos"]; AAF._question = (string)dr["Question"]; AAF._responseType = (int)dr["ResponseType"]; AAF._duration = (int)dr["Duration"]; AAF._responseA = (string)dr["ResponseA"]; AAF._responseB = (string)dr["ResponseB"]; AAF._rejectScore = (int)dr["RejectScore"]; AAF._isPrivate = (bool)dr["IsPrivate"]; AAF._totalVotes = (int)dr["TotalVotes"]; AAF._active = (bool)dr["Active"]; AAF._wentLiveDT = (DateTime)dr["WentLiveDT"]; AAF._submittedDT = (DateTime)dr["SubmittedDT"]; AAF.DefaultImage = new ResourceFile(); AAF.DefaultImage.ResourceFileID = (int)dr["ResourceFileID"]; AAF.DefaultImage.WebResourceFileID = (string)dr["WebResourceFileID"]; AAF.DefaultImage.ResourceType = (int)dr["ResourceType"]; AAF.DefaultImage.StorageLocation = (int)dr["StorageLocation"]; AAF.DefaultImage.Server = (int)dr["Server"]; AAF.DefaultImage.Path = (string)dr["Path"]; AAF.DefaultImage.FileName = (string)dr["FileName"]; AAF.DefaultImage.CreatedDT = (DateTime)dr["CreatedDT"]; AAF.Member = new Member(); if (list.IsColumnPresent("Nickname")) { AAF.Member.NickName = (string)dr["Nickname"]; } arr.Add(AAF); } dr.Close(); return(arr); }
/// <summary> /// Delete the AskAFriend question identified by <paramref name="webAskQuestionID"/> /// </summary> /// <param name="webAskQuestionID">The WebAskAFriendId of the AskAFriend question</param> public static void Delete(String webAskQuestionID) { var db = DatabaseFactory.CreateDatabase(); var dbCommand = db.GetStoredProcCommand("HG_DeleteAskQuestion"); db.AddInParameter(dbCommand, "@id", DbType.Int32, AskAFriend.GetAskAFriendByWebAskAFriendID(webAskQuestionID).AskAFriendID); try { db.ExecuteNonQuery(dbCommand); } catch (Exception e) { throw e; } }
public AskQuestionConfirm SubmitQuestion( String nickname, String password, String questionText, Int32 numberOfPhotos, Int32 responseType, String[] customResponses, Int32 durationType, Boolean isPrivate) { if (String.IsNullOrEmpty(nickname)) throw new ArgumentNullException("nickname"); if (String.IsNullOrEmpty(password)) throw new ArgumentNullException("password"); if (String.IsNullOrEmpty(questionText)) throw new ArgumentNullException("questionText"); var member = Member.GetMemberViaNicknamePassword(nickname, password); var aaf = new AskAFriend() { WebAskAFriendID = Misc.UniqueID.NewWebID(), MemberID = member.MemberID, RejectScore = 10, Question = Server.HtmlEncode(questionText), NumberOfPhotos = numberOfPhotos, ResponseType = responseType, Active = false, Duration = durationType, IsPrivate = isPrivate, SubmittedIP = HttpContext.Current.Request.UserHostAddress }; if (customResponses != null) { aaf.ResponseA = (customResponses.Length > 0) ? Server.HtmlEncode(customResponses[0]) : String.Empty; aaf.ResponseB = (customResponses.Length > 1) ? Server.HtmlEncode(customResponses[1]) : String.Empty; } aaf.Save(); var result = new AskQuestionConfirm() { AskQuestionID = aaf.WebAskAFriendID, AdvertURL = @"http://www.google.co.uk/images/firefox/tshirt.gif", AdvertImage = "" }; return result; }
public static void ProcessAAFPhoto(Member member, AskAFriend AAF, Image image, int IndexOrder) { string GlobalWebID = UniqueID.NewWebID(); string FileName = GlobalWebID + @".jpg"; AskAFriendPhoto photo = new AskAFriendPhoto(); photo.AskAFriendID = AAF.AskAFriendID; photo.IndexOrder = IndexOrder; //create the medium ResourceFile PhotoResourceFile = new ResourceFile(); PhotoResourceFile.WebResourceFileID = GlobalWebID; PhotoResourceFile.ResourceType = (int)ResourceFileType.AAFLarge; PhotoResourceFile.Path = member.NickName + "/" + "aaflrge" + "/"; PhotoResourceFile.FileName = FileName; PhotoResourceFile.Save(); System.Drawing.Image MediumImage = Photo.Resize480x480(image); Photo.SaveToDisk(MediumImage, PhotoResourceFile.SavePath); photo.PhotoResourceFileID = PhotoResourceFile.ResourceFileID; //create the thumbnail ResourceFile ThumbnailPhoto = new ResourceFile(); ThumbnailPhoto.WebResourceFileID = GlobalWebID; ThumbnailPhoto.ResourceType = (int)ResourceFileType.AAFThumbnail; ThumbnailPhoto.Path = member.NickName + "/" + "aafthmb" + "/"; ThumbnailPhoto.FileName = FileName; ThumbnailPhoto.Save(); System.Drawing.Image ThumbnailImage = Photo.ResizeTo124x91(MediumImage); Photo.SaveToDisk(ThumbnailImage, ThumbnailPhoto.SavePath); photo.Save(); if (IndexOrder == 1) { AAF.DefaultPhotoResourceFileID = ThumbnailPhoto.ResourceFileID; } AAF.Save(); }
/// <summary> /// Check if a Member has voted for an AskAFriend or not /// </summary> /// <param name="member">The Member Object</param> /// <param name="AAF">The AskAFriend object</param> /// <returns>True if the member has voted otherwise false</returns> public static bool HasntYetVoted(Member member, AskAFriend AAF) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("HG_HasntYetVoted"); db.AddInParameter(dbCommand, "MemberID", DbType.Int32, member.MemberID); db.AddInParameter(dbCommand, "AskAFriendID", DbType.Int32, AAF.AskAFriendID); bool HasVoted = false; //execute the stored procedure using (IDataReader dr = db.ExecuteReader(dbCommand)) { if (dr.Read()) { HasVoted = (bool)dr["HasVoted"]; } dr.Close(); } return(!HasVoted); }
/// <summary> /// Check if a Member has voted for an AskAFriend or not /// </summary> /// <param name="member">The Member Object</param> /// <param name="AAF">The AskAFriend object</param> /// <returns>True if the member has voted otherwise false</returns> public static bool HasntYetVoted(Member member, AskAFriend AAF) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("HG_HasntYetVoted"); db.AddInParameter(dbCommand, "MemberID", DbType.Int32, member.MemberID); db.AddInParameter(dbCommand, "AskAFriendID", DbType.Int32, AAF.AskAFriendID); bool HasVoted = false; //execute the stored procedure using (IDataReader dr = db.ExecuteReader(dbCommand)) { if (dr.Read()) { HasVoted = (bool)dr["HasVoted"]; } dr.Close(); } return !HasVoted; }
/// <summary> /// Get the AskAFriend question by <paramref name="questionID"/> /// </summary> /// <param name="questionID">The AskAFriendID of the AskAFriend Question</param> /// <returns>An AskAFriend object</returns> public static AskAFriend GetAskQuestion(Int32 questionID) { var db = DatabaseFactory.CreateDatabase(); var dbCommand = db.GetStoredProcCommand("HG_GetAskQuestion"); db.AddInParameter(dbCommand, "questionID", DbType.Int32, questionID); List <AskAFriend> questions = null; using (var dr = db.ExecuteReader(dbCommand)) { questions = AskAFriend.PopulateObject(dr); dr.Close(); } if (questions.Count > 0) { return(questions[0]); } else { return(null); } }
/// <summary> /// Gets the results of the specified AskAFriendQuestion. The results are dependant on the type of the question. /// </summary> /// <param name="AAF">The AskAFriend object for which the results will be fetched</param> /// <returns>A varying length integer array that contains responses to different options.</returns> public static List <int> GetAskAFriendResult(AskAFriend AAF) { List <int> Results = new List <int>(); if (AAF == null) { Next2Friends.Data.Trace.Tracer("caskafriend.cs 215 AAF=null", "AAF", "OST"); } int AskAFriendID = AAF.AskAFriendID; AskResponseType ResponseType = (AskResponseType)AAF.ResponseType; Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("HG_GetAskAFriendResult"); db.AddInParameter(dbCommand, "AskAFriendID", DbType.Int32, AskAFriendID); Next2Friends.Data.Trace.Tracer("new AAF", "AAF", "OST"); try { //execute the stored procedure using (IDataReader dr = db.ExecuteReader(dbCommand)) { int ArraySize = 0; if (ResponseType == AskResponseType.RateTo10) { ArraySize = 10; } else { ArraySize = 2; } for (int i = 0; i < ArraySize; i++) { Results.Add(0); } while (dr.Read()) { /////////////// if (dr.GetInt32(2) == 1) { Results[0] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 2) { Results[1] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 3) { Results[2] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 4) { Results[3] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 5) { Results[4] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 6) { Results[5] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 7) { Results[6] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 8) { Results[7] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 9) { Results[8] = dr.GetInt32(1); } else if (dr.GetInt32(2) == 10) { Results[9] = dr.GetInt32(1); } } dr.Close(); } } catch { Next2Friends.Data.Trace.Tracer("Ask a friend cs new catch 299", "AAF", "OST"); } // if (Results == null) return(Results); }
public static void ProcessAAFPhoto(Member member, AskAFriend AAF, Image image, int IndexOrder) { string GlobalWebID = UniqueID.NewWebID(); string FileName = GlobalWebID + @".jpg"; AskAFriendPhoto photo = new AskAFriendPhoto(); photo.AskAFriendID = AAF.AskAFriendID; photo.IndexOrder = IndexOrder; //create the medium ResourceFile PhotoResourceFile = new ResourceFile(); PhotoResourceFile.WebResourceFileID = GlobalWebID; PhotoResourceFile.ResourceType = (int)ResourceFileType.AAFLarge; PhotoResourceFile.Path = member.NickName + "/" + "aaflrge" + "/"; PhotoResourceFile.FileName = FileName; PhotoResourceFile.Save(); System.Drawing.Image MediumImage = Photo.Resize480x480(image); Photo.SaveToDisk(MediumImage, PhotoResourceFile.SavePath); photo.PhotoResourceFileID = PhotoResourceFile.ResourceFileID; //create the thumbnail ResourceFile ThumbnailPhoto = new ResourceFile(); ThumbnailPhoto.WebResourceFileID = GlobalWebID; ThumbnailPhoto.ResourceType = (int)ResourceFileType.AAFThumbnail; ThumbnailPhoto.Path = member.NickName + "/" + "aafthmb" + "/"; ThumbnailPhoto.FileName = FileName; ThumbnailPhoto.Save(); System.Drawing.Image ThumbnailImage = Photo.ResizeTo124x91(MediumImage); Photo.SaveToDisk(ThumbnailImage, ThumbnailPhoto.SavePath); photo.Save(); if (IndexOrder == 1) { AAF.DefaultPhotoResourceFileID = ThumbnailPhoto.ResourceFileID; } AAF.Save(); }
//public string Question { get; set; } //public string PhotoBase64Binary { get; set; } //public int[] ResponseValues { get; set; } //public double Average { get; set; } //public int ResponseType { get; set; } //public string[] CustomResponses { get; set; } public MobileAskAFriendResponse(AskAFriend AAF) { // empty for Serializable]# WebAskAFriendID = ""; }
//public string Question { get; set; } //public string PhotoBase64Binary { get; set; } //public int[] ResponseValues { get; set; } //public double Average { get; set; } //public int ResponseType { get; set; } //public string[] CustomResponses { get; set; } public MobileAskAFriendResponse(AskAFriend AAF) { // empty for Serializable]# WebAskAFriendID = ""; }
/// <summary> /// Create the AddThis bookmarks html /// </summary> /// <param name="askAFriend"></param> /// <returns></returns> public string GenarateBookmarks(AskAFriend askAFriend) { StringBuilder sbBookmarks = new StringBuilder(); object[] bookmarkParameters = new object[2]; bookmarkParameters[0] = askAFriend.WebAskAFriendID; bookmarkParameters[1] = askAFriend.Question; sbBookmarks.AppendFormat(@"<script type='text/javascript'>addthis_pub = 'Next2Friends';var addThisWebPhotoID = '';</script> <a href='http://www.addthis.com/bookmark.php' onmouseover=""return addthis_open(this, '', 'http://www.next2friends.com/ask/{0}'+addThisWebPhotoID, '{1}')"" onmouseout='addthis_close()' onclick='return addthis_sendto()'><img src='http://s9.addthis.com/button1-bm.gif' width='125' height='16' border='0' alt='' /></a><script type='text/javascript' src='http://s7.addthis.com/js/152/addthis_widget.js'></script>", bookmarkParameters); return sbBookmarks.ToString(); }
private static AskQuestion CreateQuestion(AskAFriend askAFriend) { return new AskQuestion() { ID = askAFriend.AskAFriendID, Question = Text2Mobile.Filter(askAFriend.Question), DTCreated = askAFriend.SubmittedDT.ToTicksString() }; }
/// <summary> /// render the HTML form responses /// </summary> public string GenarateAnswers(AskAFriend askAFriend) { bool HasntYetVoted = false; if (member != null) // it means if memeber is null HasntYetVoted=false { HasntYetVoted = AskAFriendResponse.HasntYetVoted(member, CurrentAskAFriend); } HasntYetVoted = true; StringBuilder sbHTML = new StringBuilder(); //if (!IsPermalink && HasntYetVoted) if(true) { // base on type of the question we should generate answers // base on premaLink or not we give the user chance to vote or not // Should we disable voting for anymouse users if (askAFriend.ResponseType == (int)AskResponseType.YesNo) { //why we are using li string photo = askAFriend.Photo[0].PhotoResourceFile.FullyQualifiedURL; sbHTML.AppendFormat(@"<li> <input type='radio' value='1' name='rbResponse' onclick='SubmitResponse(1);' > Yes <input type='radio' value='2' name='rbResponse' onclick='SubmitResponse(2);'> No <br /> <img src='/{0}' alt='' /> </li>", photo); } else if (askAFriend.ResponseType == (int)AskResponseType.AB) { object[] parameters = new object[3]; ///AAF.Photo[0].PhotoResourceFile.FullyQualifiedURL is empty parameters[0] = askAFriend.Photo[0].PhotoResourceFile.FullyQualifiedURL; parameters[1] = askAFriend.ResponseA; parameters[2] = askAFriend.ResponseB; sbHTML.AppendFormat(@" <li> <input type='radio' name='rbResponse' value='1' onclick='SubmitResponse(1);'> {1} <input type='radio' name='rbResponse' value='2' onclick='SubmitResponse(2);'> {2} <br /> <img src='/{0}' alt='' /> </li>", parameters); } else if (askAFriend.ResponseType == (int)AskResponseType.RateTo10) { string photo = askAFriend.Photo[0].PhotoResourceFile.FullyQualifiedURL; sbHTML.AppendFormat(@"<li> <input type='radio' name='rbResponse' value='1' onclick='SubmitResponse(1)'> 1 <input type='radio' name='rbResponse' value='2' onclick='SubmitResponse(2)'> 2 <input type='radio' name='rbResponse' value='3' onclick='SubmitResponse(3)'> 3 <input type='radio' name='rbResponse' value='4' onclick='SubmitResponse(4)'> 4 <input type='radio' name='rbResponse' value='5' onclick='SubmitResponse(5)'> 5 <input type='radio' name='rbResponse' value='6' onclick='SubmitResponse(6)'> 6 <input type='radio' name='rbResponse' value='7' onclick='SubmitResponse(7)'> 7 <input type='radio' name='rbResponse' value='8' onclick='SubmitResponse(8)'> 8 <input type='radio' name='rbResponse' value='9' onclick='SubmitResponse(9)'> 9 <input type='radio' name='rbResponse' value='10' onclick='SubmitResponse(10)'> 10 <br /> <img src='/{0}' alt='' /> </li>", photo); } else if (askAFriend.ResponseType == (int)AskResponseType.MultipleSelect) { for (int i = 0; i < askAFriend.Photo.Count; i++) sbHTML.AppendFormat("<li><input name='rbResponse' type='radio' value='{0}' onclick='SubmitResponse({0})'/><br /><img src='/{1}" + "' width='160' alt='' /></li>", i + 1, askAFriend.Photo[i].PhotoResourceFile.FullyQualifiedURL); } } else { //permalink disables voting if (CurrentAskAFriend.ResponseType == (int)AskResponseType.MultipleSelect) { object[] parameters = new object[3]; parameters[0] = ""; parameters[1] = ""; parameters[2] = ""; try { parameters[0] = CurrentAskAFriend.Photo[0].PhotoResourceFile.FullyQualifiedURL; } catch { } try { parameters[1] = CurrentAskAFriend.Photo[1].PhotoResourceFile.FullyQualifiedURL; } catch { } try { parameters[2] = CurrentAskAFriend.Photo[2].PhotoResourceFile.FullyQualifiedURL; } catch { } sbHTML.AppendFormat(@"<li><img src='/{0}' width='160' alt='' /></li> <li><img src='/{1}' width='160' alt='' /></li> <li><img src='/{2}' width='160' alt='' /></li>", parameters); } else { object[] parameters = new object[3]; parameters[0] = CurrentAskAFriend.Photo[0].PhotoResourceFile.FullyQualifiedURL; parameters[1] = CurrentAskAFriend.ResponseA; parameters[2] = CurrentAskAFriend.ResponseB; sbHTML.AppendFormat(@"<li><img src='/{0}' alt='' /> </li>", parameters); } ///////////// } return sbHTML.ToString(); }
/// <summary> /// Takes an prepopulated IDataReader and creates an array of AskAFriends /// </summary> public static List<AskAFriend> PopulateObjectWithJoin(IDataReader dr) { ColumnFieldList list = new ColumnFieldList(dr); List<AskAFriend> arr = new List<AskAFriend>(); AskAFriend obj; while (dr.Read()) { obj = new AskAFriend(); if (list.IsColumnPresent("AskAFriendID")) { obj._askAFriendID = (int)dr["AskAFriendID"]; } if (list.IsColumnPresent("MemberID")) { obj._memberID = (int)dr["MemberID"]; } if (list.IsColumnPresent("WebAskAFriendID")) { obj._webAskAFriendID = (string)dr["WebAskAFriendID"]; } if (list.IsColumnPresent("NumberOfPhotos")) { obj._numberOfPhotos = (int)dr["NumberOfPhotos"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileID")) { obj._defaultPhotoResourceFileID = (int)dr["DefaultPhotoResourceFileID"]; } if (list.IsColumnPresent("Question")) { obj._question = (string)dr["Question"]; } if (list.IsColumnPresent("ResponseType")) { obj._responseType = (int)dr["ResponseType"]; } if (list.IsColumnPresent("Duration")) { obj._duration = (int)dr["Duration"]; } if (list.IsColumnPresent("ResponseA")) { obj._responseA = (string)dr["ResponseA"]; } if (list.IsColumnPresent("ResponseB")) { obj._responseB = (string)dr["ResponseB"]; } if (list.IsColumnPresent("RejectScore")) { obj._rejectScore = (int)dr["RejectScore"]; } if (list.IsColumnPresent("TotalVotes")) { obj._totalVotes = (int)dr["TotalVotes"]; } if (list.IsColumnPresent("IsPrivate")) { obj._isPrivate = (bool)dr["IsPrivate"]; } if (list.IsColumnPresent("Active")) { obj._active = (bool)dr["Active"]; } if (list.IsColumnPresent("SubmittedIP")) { obj._submittedIP = (string)dr["SubmittedIP"]; } if (list.IsColumnPresent("WentLiveDT")) { obj._wentLiveDT = (DateTime)dr["WentLiveDT"]; } if (list.IsColumnPresent("SubmittedDT")) { obj._submittedDT = (DateTime)dr["SubmittedDT"]; } obj.DefaultPhotoResourceFile = new ResourceFile(); if (list.IsColumnPresent("DefaultPhotoResourceFileResourceFileID")) { obj.DefaultPhotoResourceFile.ResourceFileID = (int)dr["DefaultPhotoResourceFileResourceFileID"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileWebResourceFileID")) { obj.DefaultPhotoResourceFile.WebResourceFileID = (string)dr["DefaultPhotoResourceFileWebResourceFileID"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileResourceType")) { obj.DefaultPhotoResourceFile.ResourceType = (int)dr["DefaultPhotoResourceFileResourceType"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileStorageLocation")) { obj.DefaultPhotoResourceFile.StorageLocation = (int)dr["DefaultPhotoResourceFileStorageLocation"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileServer")) { obj.DefaultPhotoResourceFile.Server = (int)dr["DefaultPhotoResourceFileServer"]; } if (list.IsColumnPresent("DefaultPhotoResourceFilePath")) { obj.DefaultPhotoResourceFile.Path = (string)dr["DefaultPhotoResourceFilePath"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileFileName")) { obj.DefaultPhotoResourceFile.FileName = (string)dr["DefaultPhotoResourceFileFileName"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileCreatedDT")) { obj.DefaultPhotoResourceFile.CreatedDT = (DateTime)dr["DefaultPhotoResourceFileCreatedDT"]; } obj.Member = new Member(); if (list.IsColumnPresent("MemberMemberID")) { obj.Member.MemberID = (int)dr["MemberMemberID"]; } if (list.IsColumnPresent("MemberWebMemberID")) { obj.Member.WebMemberID = (string)dr["MemberWebMemberID"]; } if (list.IsColumnPresent("MemberAdminStatusID")) { obj.Member.AdminStatusID = (int)dr["MemberAdminStatusID"]; } if (list.IsColumnPresent("MemberNickName")) { obj.Member.NickName = (string)dr["MemberNickName"]; } if (list.IsColumnPresent("MemberChannelID")) { obj.Member.ChannelID = (int)dr["MemberChannelID"]; } if (list.IsColumnPresent("MemberPassword")) { obj.Member.Password = (string)dr["MemberPassword"]; } if (list.IsColumnPresent("MemberEmail")) { obj.Member.Email = (string)dr["MemberEmail"]; } if (list.IsColumnPresent("MemberGender")) { obj.Member.Gender = (int)dr["MemberGender"]; } if (list.IsColumnPresent("MemberFirstName")) { obj.Member.FirstName = (string)dr["MemberFirstName"]; } if (list.IsColumnPresent("MemberLastName")) { obj.Member.LastName = (string)dr["MemberLastName"]; } if (list.IsColumnPresent("MemberProfilePhotoResourceFileID")) { obj.Member.ProfilePhotoResourceFileID = (int)dr["MemberProfilePhotoResourceFileID"]; } if (list.IsColumnPresent("MemberDOB")) { obj.Member.DOB = (DateTime)dr["MemberDOB"]; } if (list.IsColumnPresent("MemberISOCountry")) { obj.Member.ISOCountry = (string)dr["MemberISOCountry"]; } if (list.IsColumnPresent("MemberAccountType")) { obj.Member.AccountType = (int)dr["MemberAccountType"]; } if (list.IsColumnPresent("MemberZipPostcode")) { obj.Member.ZipPostcode = (string)dr["MemberZipPostcode"]; } if (list.IsColumnPresent("MemberPhoneNumber")) { obj.Member.PhoneNumber = (string)dr["MemberPhoneNumber"]; } if (list.IsColumnPresent("MemberMobilePhoneID")) { obj.Member.MobilePhoneID = (int)dr["MemberMobilePhoneID"]; } if (list.IsColumnPresent("MemberIPLocationID")) { obj.Member.IPLocationID = (int)dr["MemberIPLocationID"]; } if (list.IsColumnPresent("MemberCreatedDT")) { obj.Member.CreatedDT = (DateTime)dr["MemberCreatedDT"]; } arr.Add(obj); } dr.Close(); return arr; }
/// <summary> /// overload using a byte array /// </summary> /// <param name="member"></param> /// <param name="PhotoCollectionID"></param> /// <param name="byteImage"></param> public static void ProcessAAFPhoto(Member member, AskAFriend AAF, string PhotoBase64String, int IndexOrder) { byte[] byteImage = Convert.FromBase64String(PhotoBase64String); Image image = ByteArrayToImage(byteImage); ProcessAAFPhoto(member, AAF, image, IndexOrder); }
/// <summary> /// Submits the AAF question /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSubmit_Click(object sender, EventArgs e) { member = (Member)Session["Member"]; bool Go = true; System.Drawing.Image image1 = null; System.Drawing.Image image2 = null; System.Drawing.Image image3 = null; int NumberOfPhotos = 0; AskResponseType responseType = AskResponseType.None; #region Show Hide options if (rbCustom.Checked) { divCustomShowHide = "style='display:block;'"; divMultiShowHide = "style='display:none;'"; responseType = AskResponseType.AB; } else if (rbImageSelect.Checked) { divCustomShowHide = "style='display:none;'"; divMultiShowHide = "style='display:block;'"; responseType = AskResponseType.MultipleSelect; } else if (rbRate110.Checked) { divCustomShowHide = "style='display:none;'"; divMultiShowHide = "style='display:none;'"; responseType = AskResponseType.RateTo10; } else if (rbYesNo.Checked) { divCustomShowHide = "style='display:none;'"; divMultiShowHide = "style='display:none;'"; responseType = AskResponseType.YesNo; } #endregion #region Form Validation if (txtQuestion.Text == string.Empty) { litErrQuestion.Text = "<span class='formerror_msg'>Please enter your question</span>"; txtQuestion.CssClass = "form_txt formerror"; Go = false; } else { litErrQuestion.Text = string.Empty; txtQuestion.CssClass = "form_txt"; } if (!rbCustom.Checked && !rbImageSelect.Checked && !rbRate110.Checked && !rbYesNo.Checked) { litErrResponse.Text = "<span class='formerror_msg'>Please select a response</span>"; Go = false; } else { litErrResponse.Text = string.Empty; } if (rbCustom.Checked && txtCustomA.Text == string.Empty) { txtCustomA.CssClass = "form_txt formerror"; libCustomA.Text = "<span class='formerror_msg'>Please enter custom response A</span>"; Go = false; } else { txtCustomA.CssClass = "form_txt"; libCustomA.Text = string.Empty; } if (rbCustom.Checked && txtCustomB.Text == string.Empty) { txtCustomB.CssClass = "form_txt formerror"; libCustomB.Text = "<span class='formerror_msg'>Please enter custom response B</span>"; Go = false; } else { txtCustomB.CssClass = "form_txt"; libCustomB.Text = string.Empty; } bool ValidFile1 = true; try { image1 = new Bitmap(FileUpload1.FileContent); } catch { ValidFile1 = false; } if (!FileUpload1.HasFile) { FileUpload1.CssClass = "form_txt formerror"; litFileUpload1.Text = "<span class='formerror_msg'>Please select your photo to upload</span>"; Go = false; } else { FileUpload1.CssClass = "form_txt"; litFileUpload1.Text = string.Empty; } bool ValidFile2 = true; try { image2 = new Bitmap(FileUpload2.FileContent); } catch { ValidFile2 = false; } if (rbImageSelect.Checked && !ValidFile2) { FileUpload2.CssClass = "form_txt formerror"; litFileUpload2.Text = "<span class='formerror_msg'>Multi select requres at least 2 photos be uplaoded</span>"; Go = false; } else { FileUpload2.CssClass = "form_txt"; litFileUpload2.Text = string.Empty; } bool ValidFile3 = true; try { image3 = new Bitmap(FileUpload3.FileContent); } catch { ValidFile3 = false; } if (rbImageSelect.Checked) { spanPhotoNoValue = "1"; } #endregion if (ValidFile1) NumberOfPhotos++; if (ValidFile2) NumberOfPhotos++; if (ValidFile3) NumberOfPhotos++; AskAFriend AAF = new AskAFriend(); AAF.WebAskAFriendID = Next2Friends.Misc.UniqueID.NewWebID(); AAF.MemberID = member.MemberID; AAF.RejectScore = 10; AAF.Question = txtQuestion.Text; AAF.NumberOfPhotos = NumberOfPhotos; AAF.ResponseType = (int)responseType; AAF.Active = false; if (responseType==AskResponseType.AB) { AAF.ResponseA = txtCustomA.Text; AAF.ResponseB = txtCustomB.Text; } AAF.Duration = 0; AAF.IsPrivate = chbPrivate.Checked; AAF.SubmittedIP = HttpContext.Current.Request.UserHostAddress; if (Go) { AAF.Save(); int IndexOrder = 1; if (ValidFile1) { Photo.ProcessAAFPhoto(member, AAF, image1, IndexOrder++); } if (ValidFile2) { Photo.ProcessAAFPhoto(member, AAF, image2, IndexOrder++); } if (ValidFile3) { Photo.ProcessAAFPhoto(member, AAF, image3, IndexOrder++); } AAF.WentLiveDT = DateTime.Now; AAF.SubmittedDT = DateTime.Now; AAF.Active = true; AAF.Save(); // show the success message panelUpload.Visible = false; litSuccessful.Visible = true; } }
/// <summary> /// Forward to the next question /// </summary> public AjaxAskAFriend NextQuestion() { LastAskAFriend = CurrentAskAFriend; CurrentAskAFriend = AskAFriend.GetNextQuestion(); return GenarateAjaxAskAFriend(); }
/// <summary> /// Render the html permalinks /// </summary> public string GenaratePermaLink(AskAFriend askAFriend) { return string.Format("<input type='text' onclick='this.select();' style='width:430px' value='{0}'>", ServerURL + askAFriend.WebAskAFriendID); }
/// <summary> /// render the HTML comments /// </summary> public string GenarateComments(AskAFriend askAFriend) { AjaxAAFComment[] commentList = AjaxAAFComment.GetAAFCommentsByAskAFriendIDWithJoin(askAFriend.AskAFriendID); StringBuilder sbComments = new StringBuilder(); for (int i = 0; i < 10; i++) { if (commentList.Length <= i) break; sbComments.Append(commentList[i].ToHTML()); } return sbComments.ToString(); }
/// <summary> /// Takes an prepopulated IDataReader and creates an array of AskAFriends /// </summary> public static List<AskAFriend> PopulateObject(IDataReader dr) { ColumnFieldList list = new ColumnFieldList(dr); List<AskAFriend> arr = new List<AskAFriend>(); AskAFriend obj; while (dr.Read()) { obj = new AskAFriend(); if (list.IsColumnPresent("AskAFriendID")) { obj._askAFriendID = (int)dr["AskAFriendID"]; } if (list.IsColumnPresent("MemberID")) { obj._memberID = (int)dr["MemberID"]; } if (list.IsColumnPresent("WebAskAFriendID")) { obj._webAskAFriendID = (string)dr["WebAskAFriendID"]; } if (list.IsColumnPresent("NumberOfPhotos")) { obj._numberOfPhotos = (int)dr["NumberOfPhotos"]; } if (list.IsColumnPresent("DefaultPhotoResourceFileID")) { obj._defaultPhotoResourceFileID = (int)dr["DefaultPhotoResourceFileID"]; } if (list.IsColumnPresent("Question")) { obj._question = (string)dr["Question"]; } if (list.IsColumnPresent("ResponseType")) { obj._responseType = (int)dr["ResponseType"]; } if (list.IsColumnPresent("Duration")) { obj._duration = (int)dr["Duration"]; } if (list.IsColumnPresent("ResponseA")) { obj._responseA = (string)dr["ResponseA"]; } if (list.IsColumnPresent("ResponseB")) { obj._responseB = (string)dr["ResponseB"]; } if (list.IsColumnPresent("RejectScore")) { obj._rejectScore = (int)dr["RejectScore"]; } if (list.IsColumnPresent("TotalVotes")) { obj._totalVotes = (int)dr["TotalVotes"]; } if (list.IsColumnPresent("IsPrivate")) { obj._isPrivate = (bool)dr["IsPrivate"]; } if (list.IsColumnPresent("Active")) { obj._active = (bool)dr["Active"]; } if (list.IsColumnPresent("SubmittedIP")) { obj._submittedIP = (string)dr["SubmittedIP"]; } if (list.IsColumnPresent("WentLiveDT")) { obj._wentLiveDT = (DateTime)dr["WentLiveDT"]; } if (list.IsColumnPresent("SubmittedDT")) { obj._submittedDT = (DateTime)dr["SubmittedDT"]; } arr.Add(obj); } dr.Close(); return arr; }
public string GenarateResult(AskAFriend askAFriend) { if (askAFriend == null) // return "Oops"; return ""; List<int> resultArr = null; try { resultArr = AskAFriend.GetAskAFriendResult(askAFriend); } catch (Exception ex) { Next2Friends.Data.Trace.Tracer("CAskafriend line 284" + ex.Message, "AAF", "ost"); return "Oops"; } finally { } if (resultArr == null) return ""; StringBuilder sbLastAAF = new StringBuilder(); if (askAFriend.ResponseType == (int)AskResponseType.RateTo10) { object[] Lastparameters = new object[12]; Lastparameters[0] = (askAFriend.Question.Length > 28) ? askAFriend.Question.Substring(0, 28) + ".." : askAFriend.Question; Lastparameters[1] = askAFriend.Photo[0].PhotoResourceFile.FullyQualifiedURL; Lastparameters[2] = resultArr[0]; Lastparameters[3] = resultArr[1]; Lastparameters[4] = resultArr[2]; Lastparameters[5] = resultArr[3]; Lastparameters[6] = resultArr[4]; Lastparameters[7] = resultArr[5]; Lastparameters[8] = resultArr[6]; Lastparameters[9] = resultArr[7]; Lastparameters[10] = resultArr[8]; Lastparameters[11] = resultArr[9]; sbLastAAF.AppendFormat(@" <div class='aaf_next'> <p>{0}</p> <img src='/{1}' style='width:100px;' alt='{0}' /> <ul class='bar_graph clearfix'> <li> 1<div class='bar' style='width: {2}px;'></div> 2<div class='bar' style='width: {3}px;'></div> 3<div class='bar' style='width: {4}px;'></div> 4<div class='bar' style='width: {5}px;'></div> 5<div class='bar' style='width: {6}px;'></div> 6<div class='bar' style='width: {7}px;'></div> 7<div class='bar' style='width: {8}px;'></div> 8<div class='bar' style='width: {9}px;'></div> 9<div class='bar' style='width: {10}px;'></div> 10<div class='bar' style='width: {11}px;'></div> </li> </ul></div>", Lastparameters); } else { object[] Lastparameters = new object[7]; Lastparameters[0] = (askAFriend.Question.Length > 28) ? askAFriend.Question.Substring(0, 28) + ".." : askAFriend.Question; Lastparameters[1] = askAFriend.Photo[0].PhotoResourceFile.FullyQualifiedURL; if (askAFriend.ResponseType == (int)AskResponseType.YesNo) { Lastparameters[2] = "Yes"; Lastparameters[3] = "No"; } else if (askAFriend.ResponseType == (int)AskResponseType.AB) { Lastparameters[2] = askAFriend.ResponseA; Lastparameters[3] = askAFriend.ResponseB; } else if (askAFriend.ResponseType == (int)AskResponseType.MultipleSelect) { if (askAFriend.NumberOfPhotos == 2) { } // Lastparameters[6] = askAFriend.ResponseB; } Lastparameters[4] = resultArr[0]; Lastparameters[5] = resultArr[1]; if (askAFriend.ResponseType == (int)AskResponseType.MultipleSelect) { sbLastAAF.AppendFormat(@"<div class='aaf_next'> <p>{0}</p> <img src='/{1}' style='width:100px;' alt='' /> <ul class='bar_graph clearfix'> {2}<div class='bar' style='width: {4}px;'></div> {3}<div class='bar' style='width: {5}px;'></div> </ul></div>", Lastparameters); } else { sbLastAAF.AppendFormat(@"<div class='aaf_next'> <p>{0}</p> <img src='/{1}' style='width:100px;' alt='' /> <ul class='bar_graph clearfix'> {2}<div class='bar' style='width: {4}px;'></div> {3}<div class='bar' style='width: {5}px;'></div> </ul></div>", Lastparameters); } } return sbLastAAF.ToString(); }