Пример #1
0
        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;
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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;
            }
        }
Пример #6
0
        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;
        }
Пример #7
0
        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();
        }
Пример #8
0
        /// <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);
        }
Пример #9
0
        /// <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;
        }
Пример #10
0
        /// <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);
            }
        }
Пример #11
0
        /// <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);
        }
Пример #12
0
        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 = "";
        }
Пример #14
0
        //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 = "";
        }
Пример #15
0
    /// <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();
    }
Пример #16
0
 private static AskQuestion CreateQuestion(AskAFriend askAFriend)
 {
     return new AskQuestion()
     {
         ID = askAFriend.AskAFriendID,
         Question = Text2Mobile.Filter(askAFriend.Question),
         DTCreated = askAFriend.SubmittedDT.ToTicksString()
     };
 }
Пример #17
0
    /// <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);' >&nbsp;Yes&nbsp;&nbsp;    
                        <input type='radio' value='2' name='rbResponse' onclick='SubmitResponse(2);'>&nbsp;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);'>&nbsp;{1}&nbsp;&nbsp;
                                      <input type='radio' name='rbResponse' value='2' onclick='SubmitResponse(2);'>&nbsp;{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)'>&nbsp;1 
                        <input type='radio' name='rbResponse' value='2' onclick='SubmitResponse(2)'>&nbsp;2  
					    <input type='radio' name='rbResponse' value='3' onclick='SubmitResponse(3)'>&nbsp;3     
                        <input type='radio' name='rbResponse' value='4' onclick='SubmitResponse(4)'>&nbsp;4  
					    <input type='radio' name='rbResponse' value='5' onclick='SubmitResponse(5)'>&nbsp;5     
                        <input type='radio' name='rbResponse' value='6' onclick='SubmitResponse(6)'>&nbsp;6  
					    <input type='radio' name='rbResponse' value='7' onclick='SubmitResponse(7)'>&nbsp;7     
                        <input type='radio' name='rbResponse' value='8' onclick='SubmitResponse(8)'>&nbsp;8 
					    <input type='radio' name='rbResponse' value='9' onclick='SubmitResponse(9)'>&nbsp;9    
                        <input type='radio' name='rbResponse' value='10' onclick='SubmitResponse(10)'>&nbsp;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();

    }
Пример #18
0
        /// <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;
        }
Пример #19
0
        /// <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);
        }
Пример #20
0
    /// <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;
        }
        
    }
Пример #21
0
    /// <summary>
    /// Forward to the next question
    /// </summary>
    public AjaxAskAFriend NextQuestion()
    {
        LastAskAFriend = CurrentAskAFriend;

        CurrentAskAFriend = AskAFriend.GetNextQuestion();

        return GenarateAjaxAskAFriend();

    }
Пример #22
0
 /// <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);
 }
Пример #23
0
    /// <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();
    }
Пример #24
0
        /// <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;
        }
Пример #25
0
    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();

    }