private void loadFriends()
        {
            DataTable dtFriends = new DataTable("Friends");

            dtFriends.Columns.Add("Username");
            dtFriends.Columns.Add("Name");
            dtFriends.Columns.Add("StatusText");

            string[] friendsUsernames = User.FetchMutuallyFriends(CurrentUserSession.Username);
            string statusText = String.Empty;
            string nameText = String.Empty;

            foreach (string username in friendsUsernames)
            {
                try
                {
                    User user = User.Load(username);

                    if (user.IsOnline())
                    {
                        statusText = Server.HtmlEncode(user.StatusText);
                        using (var db = new Model.ezFixUpDataContext()){
                            nameText = Server.HtmlEncode(
                                CompiledQueries.FetchDisplayedName(db, CurrentUserSession.Username, user.Username));
                        }
                        dtFriends.Rows.Add(new object[] {username, nameText, statusText});
                    }
                }
                catch (NotFoundException)
                {
                    continue;
                }
            }

            if (dtFriends.Rows.Count > 0)
            {
                rptFriends.DataSource = dtFriends;
                rptFriends.DataBind();
                mvFriends.SetActiveView(vFriends);
            }
            else
            {
                mvFriends.SetActiveView(vNoFriends);
            }
        }
Exemple #2
0
        /// <summary>
        /// Loads comments
        /// </summary>
        /// <param name="id">The id.</param>
        /// <param name="fromUsername">From username.</param>
        /// <param name="toUsername">To username.</param>
        /// <param name="approveFilter">if set to <c>true</c> [approve filter].</param>
        /// <param name="approved">if set to <c>true</c> [approved].</param>
        /// <param name="countLimit">The count limit.</param>
        /// <returns></returns>
        public static Comment[] Load(int id, string fromUsername, string toUsername, bool approveFilter,
                                     bool approved, int countLimit)
        {
            using (var db = new Model.ezFixUpDataContext())
            {
                var comments = from c in db.Comments
                               where (id == -1 || id == c.c_id)
                                     && (fromUsername == null || fromUsername == c.c_from_username)
                                     && (toUsername == null || toUsername == c.c_to_username)
                                     && (!approveFilter || approved == c.c_approved)
                               orderby c.c_date_posted descending
                               select new Comment
                                          {
                                              id = c.c_id,
                                              fromUsername = c.c_from_username,
                                              toUsername = c.c_to_username,
                                              commentText = c.c_comment_text,
                                              datePosted = c.c_date_posted,
                                              approved = c.c_approved
                                          };

                if (countLimit > -1)
                    comments = comments.Take(countLimit);

                return comments.ToArray();
                
            }

            //List<Comment> lComments = new List<Comment>();

            ////using (var conn = Config.DB.Open())
            //{
            //    var reader = SqlHelper.GetDB().ExecuteReader( "FetchComments", id, fromUsername,
            //                                                   toUsername, approveFilter ? (object) approved : null);

            //    int count = 0;
            //    while (reader.Read())
            //    {
            //        Comment comment = new Comment();

            //        comment.id = (int) reader["Id"];
            //        comment.fromUsername = (string) reader["FromUsername"];
            //        comment.toUsername = (string) reader["ToUsername"];
            //        comment.commentText = (string) reader["CommentText"];
            //        comment.datePosted = (DateTime) reader["DatePosted"];
            //        comment.approved = (bool) reader["Approved"];

            //        lComments.Add(comment);
            //        if (++count >= countLimit && countLimit > -1) break;
            //    }
            //}

            //return lComments.ToArray();
        }
        /// <summary>
        /// Fetches community photo approval by specified parameters.
        /// It returns an empty array if there are no community photo approval in DB by specified arguments.
        /// If these arguments are null it returns all community photo approval from DB.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <param name="photoID">The photo ID.</param>
        /// <param name="username">The username.</param>
        /// <param name="fromDate">From date.</param>
        /// <param name="toDate">To date.</param>
        /// <param name="sortColumn">The sort column.</param>
        /// <returns></returns>
        private static CommunityPhotoApproval[] Fetch(int? id, int? photoID, string username,
                                                        DateTime? fromDate, DateTime? toDate, eSortColumn sortColumn)
        {
            using (var db = new Model.ezFixUpDataContext())
            {
                var photoApprovals = from cpa in db.CommunityPhotoApprovals
                                     where (!id.HasValue || id == cpa.cpa_id)
                                           && (!photoID.HasValue || photoID == cpa.p_id)
                                           && (username == null || username == cpa.u_username)
                                           && (!fromDate.HasValue || cpa.cpa_timestamp >= fromDate)
                                           && (!toDate.HasValue || cpa.cpa_timestamp <= toDate)
                                     select new CommunityPhotoApproval
                                                {
                                                    id = cpa.cpa_id,
                                                    username = cpa.u_username,
                                                    photoID = cpa.p_id,
                                                    approved = cpa.cpa_approved,
                                                    date = cpa.cpa_timestamp
                                                };
                switch (sortColumn)
                {
                    case eSortColumn.None:
                        break;
                    case eSortColumn.Username:
                        photoApprovals = photoApprovals.OrderBy(pa => pa.username);
                        break;
                    case eSortColumn.Date:
                        photoApprovals = photoApprovals.OrderByDescending(pa => pa.date);
                        break;
                    default:
                        break;
                }

                return photoApprovals.ToArray();
            }

            ////using (var conn = Config.DB.Open())
            //{
            //    var reader = SqlHelper.GetDB().ExecuteReader( "FetchCommunityPhotoApproval",
            //                                                   id, photoID, username, fromDate, toDate,
            //                                                   sortColumn);

            //    List<CommunityPhotoApproval> lGroupPost = new List<CommunityPhotoApproval>();

            //    while (reader.Read())
            //    {
            //        CommunityPhotoApproval communityPhotoApproval = new CommunityPhotoApproval();

            //        communityPhotoApproval.id = (int)reader["ID"];
            //        communityPhotoApproval.photoID = (int)reader["PhotoID"];
            //        communityPhotoApproval.username = (string)reader["Username"];
            //        communityPhotoApproval.date = (DateTime)reader["Date"];
            //        communityPhotoApproval.approved = (bool) reader["Approved"];

            //        lGroupPost.Add(communityPhotoApproval);
            //    }

            //    return lGroupPost.ToArray();
            //}
        }
Exemple #4
0
        /// <summary>
        /// Fetches photo comments by specified arguments.
        /// It returns an empty array if there are no photo comments in DB by specified arguments.
        /// If these arguments are null it returns all photo comments from DB.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <param name="photoID">The photo ID.</param>
        /// <param name="username">The username.</param>
        /// <param name="numberOfComments">The number of comments.</param>
        /// <returns></returns>
        private static PhotoComment[] Fetch(int? id, int? photoID, string username, int? numberOfComments)
        {
            using (var db = new Model.ezFixUpDataContext())
            {
                var photoComments = from pc in db.PhotoComments
                                    where (!id.HasValue || id == pc.pc_id)
                                          && (!photoID.HasValue || photoID == pc.p_id)
                                          && (username == null || username == pc.u_username)
                                    orderby pc.pc_date descending
                                    select new PhotoComment
                                               {
                                                   id = pc.pc_id,
                                                   photoID = pc.p_id,
                                                   username = pc.u_username,
                                                   comment = pc.pc_comment,
                                                   date = pc.pc_date
                                               };
                if (numberOfComments.HasValue)
                    photoComments = photoComments.Take(numberOfComments.Value);

                return photoComments.ToArray();
            }

            ////using (var conn = Config.DB.Open())
            //{
            //    var reader = 
            //        SqlHelper.GetDB().ExecuteReader( "FetchPhotoComments", id, photoID, username, numberOfComments);

            //    List <PhotoComment> lPhotoComments = new List<PhotoComment>();

            //    while (reader.Read())
            //    {
            //        PhotoComment photoComment = new PhotoComment();

            //        photoComment.id = (int) reader["ID"];
            //        photoComment.photoID = (int) reader["PhotoID"];
            //        photoComment.username = (string) reader["Username"];
            //        photoComment.comment = (string) reader["Comment"];
            //        photoComment.date = (DateTime) reader["Date"];

            //        lPhotoComments.Add(photoComment);
            //    }

            //    return lPhotoComments.ToArray();
            //}
        }
Exemple #5
0
        public DateTime FetchFriendRequestTimeStamp(string username)
        {
            using (var db = new Model.ezFixUpDataContext())
            {
                return CompiledQueries.FetchFriendshipRequestTimeStamp(db, this._username, username);

                //var res = from f in db.Friends
                //          where f.u_username == username && f.f_username == this.username
                //          select f.f_timestamp;

                //return res.FirstOrDefault();
            }
        }
Exemple #6
0
        public static string[] FetchUsernamesByFacebookID(long[] facebookIDs)
        {
            using (var db = new Model.ezFixUpDataContext())
            {
                var res = from u in db.Users
                          where (from id in facebookIDs select (long?)id).Contains(u.u_facebookid) &&
                                !u.u_deleted
                          select u.u_username;

                return res.ToArray();
            }
        }
Exemple #7
0
        public static string[] FetchUsernamesByMySpaceID(string[] mySpaceIDs)
        {
            using (var db = new Model.ezFixUpDataContext())
            {
                var res = from u in db.Users
                          where (from id in mySpaceIDs select id).Contains(u.u_myspaceid) &&
                          !u.u_deleted
                          select u.u_username;

                return res.ToArray();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            MatchToFriend1.IsVisible = MatchmakerHelper.IsMatchmakerState;

            if (CurrentUserSession == null && Config.Users.RegistrationRequiredToBrowse)
                Response.Redirect("LoginThroughFacebook.aspx?back_url=" + Request.Url.PathAndQuery.Substring(1));
            //Response.Redirect("LoginThroughFacebook.aspx?back_url=" + Server.UrlEncode(Request.Url.PathAndQuery.Substring(1)));

            if (Config.Users.CompletedProfileRequiredToBrowseSearch &&
                CurrentUserSession != null && !CurrentUserSession.HasProfile)
                Response.Redirect("ManageProfile.aspx?err=profnotcompl");

            if (!Page.IsPostBack)
            {
                LoadStrings();

                if (Request.Params["uid"] != null)
                {
                    try
                    {
                        User user = Classes.User.Load(Request.Params["uid"]);

                        if (user.Deleted)
                        {
                            if (user.DeleteReason == null || user.DeleteReason.Trim().Length == 0)
                                Page.StatusPageMessage = "This user has been deleted!".Translate();
                            else
                                Page.StatusPageMessage =
                                    String.Format(
                                        "This user has been deleted for the following reason:<br><br>{0}".Translate(),
                                        user.DeleteReason);
                            Response.Redirect(MatchmakerHelper.CurrentHomePage);
                        }

                        ViewedUser = user;

                        if (Page is ShowUserPage && CurrentUserSession != null)
                        {
                            if (StrTargetUserID == StrUserID)
                                Response.Redirect("ManageProfile.aspx");

                            // Save profile view
                            if (!CurrentUserSession.IsOptionEnabled(eUserOptions.DisableProfileViews))
                            {
                                Classes.User.SaveProfileView(
                                    CurrentUserSession.Username, ViewedUser.Username);

                                Classes.User.AddScore(CurrentUserSession.Username,
                                              Config.UserScores.ViewingProfile, "ViewingProfile");
                                Classes.User.AddScore(ViewedUser.Username,
                                              Config.UserScores.ViewedProfile, "ViewedProfile");

                                if (Config.Users.NewEventNotification &&
                                    CurrentUserSession.Username != ViewedUser.Username
                                    && (ViewedUser.IsOnline() || Classes.User.IsUsingNotifier(ViewedUser.Username)))
                                {
                                    var text = String.Format("User {0} is viewing your profile!".Translate(),
                                                             "<b>" + CurrentUserSession.Username + "</b>");
                                    int imageID;
                                    try
                                    {
                                        imageID = CurrentUserSession.GetPrimaryPhoto().Id;
                                    }
                                    catch (NotFoundException)
                                    {
                                        imageID = ImageHandler.GetPhotoIdByGender(CurrentUserSession.Gender);
                                    }
                                    var thumbnailUrl = ImageHandler.CreateImageUrl(imageID, 50, 50, false, true, true);
                                    var notification = new GenericEventNotification
                                                           {
                                                               Recipient = ViewedUser.Username,
                                                               Sender = CurrentUserSession.Username,
                                                               Text = text,
                                                               ThumbnailUrl = thumbnailUrl,
                                                               RedirectUrl =
                                                                   UrlRewrite.CreateShowUserUrl(
                                                                       CurrentUserSession.Username)
                                                           };
                                    RealtimeNotification.SendNotification(notification);
                                }
                            }
                        }

                        #region show/hide IM link

                        string reason;
                        if (Config.Misc.EnableIntegratedIM &&
                            CurrentUserSession != null &&
                            !CurrentUserSession.StealthMode &&
                            ViewedUser.IsOnline() &&
                            CurrentUserSession.Username != ViewedUser.Username &&
                            Classes.User.CanSendMessage(CurrentUserSession, ViewedUser, out reason))
                        {
                            pnlInstantMessenger.Visible = true;

                            var permissionCheckResult = CurrentUserSession.CanIM();

                            if (permissionCheckResult == PermissionCheckResult.No)
                                pnlInstantMessenger.Visible = false;
                            else
                            {
                                string root = HttpRuntime.AppDomainAppVirtualPath.TrimEnd('/');
                                var sectionUnlocked = UnlockedSection.IsSectionUnlocked(CurrentUserSession.Username, ViewedUser.Username, UnlockedSection.SectionType.IM, null);
                                if (permissionCheckResult == PermissionCheckResult.Yes || sectionUnlocked)
                                {
                                    lnkInstantMessenger.HRef = "#";
                                    lnkInstantMessenger.Attributes.Add("onclick",
                                                                       String.Format(
                                                                           "window.open('AjaxChat/MessengerWindow.aspx?init=1&target={0}', 'ajaxim_{1}_{0}', 'width=650,height=400,resizable=1,menubar=0,status=0,toolbar=0'); return false;",
                                                                           ViewedUser.Username,
                                                                           CurrentUserSession.Username));
                                    lnkInstantMessenger.Target = "AjaxIM_" + ViewedUser.Username;
                                }
                                else if (permissionCheckResult == PermissionCheckResult.YesWithCredits)
                                {
                                    string url = String.Format(
                                        "if (confirm('{4}')) window.open('{0}/LaunchIM.aspx?targetUsername={1}', 'ajaxim_{2}_{3}', 'width=650,height=400,resizable=1,menubar=0,status=0,toolbar=0'); return false;",
                                        root, StrTargetUserID,
                                        Regex.Replace(StrUserID, @"[^A-Za-z0-9]", "_"),
                                        Regex.Replace(StrTargetUserID, @"[^A-Za-z0-9]", "_"),
                                        String.Format(Lang.Trans("Opening the chat session will subtract {0} credits from your balance."), CurrentUserSession.BillingPlanOptions.CanIM.Credits /*Config.Credits.CreditsForIM*/));

                                    lnkInstantMessenger.Attributes.Add("onclick", url);
                                    lnkInstantMessenger.Attributes.Add("href", "");
                                }
                                else if (permissionCheckResult == PermissionCheckResult.YesButMoreCreditsNeeded ||
                                        permissionCheckResult == PermissionCheckResult.YesButPlanUpgradeNeeded)
                                {
                                    lnkInstantMessenger.Visible = false;
                                    lnkInstantMessengerPay.Visible = true;
                                }
                            }
                        }
                        else pnlInstantMessenger.Visible = false;

                        #endregion

                        #region set "allow/disallow user to view your private photos" links

                        if (Config.Photos.EnablePrivatePhotos &&
                            CurrentUserSession != null &&
                            CurrentUserSession.HasPrivatePhotos())
                        {
                            if (CurrentUserSession.HasUserAccessToPrivatePhotos(user.Username))
                                pnlGrantAccessToPrivatePhotos.Visible = false;
                            else
                                pnlDenyAccessToPrivatePhotos.Visible = false;
                        }
                        else
                        {
                            pnlGrantAccessToPrivatePhotos.Visible = false;
                            pnlDenyAccessToPrivatePhotos.Visible = false;
                        }

                        #endregion

                        #region set "allow/disallow user to view your private video" links

                        if (
                            CurrentUserSession != null &&
                            (CurrentUserSession.HasPrivateVideo()
                             || CurrentUserSession.HasPrivateVideoUpload()))
                        {
                            if (CurrentUserSession.HasUserAccessToPrivateVideo(user.Username))
                                pnlGrantAccessToPrivateVideo.Visible = false;
                            else
                                pnlDenyAccessToPrivateVideo.Visible = false;
                        }
                        else
                        {
                            pnlGrantAccessToPrivateVideo.Visible = false;
                            pnlDenyAccessToPrivateVideo.Visible = false;
                        }

                        #endregion

                        #region set "allow/disallow user to view your private audio" links

                        if (Config.Misc.EnableAudioUpload && CurrentUserSession != null &&
                            CurrentUserSession.HasPrivateAudio())
                        {
                            if (CurrentUserSession.HasUserAccessToPrivateAudio(user.Username))
                                pnlGrantAccessToPrivateAudio.Visible = false;
                            else
                                pnlDenyAccessToPrivateAudio.Visible = false;
                        }
                        else
                        {
                            pnlGrantAccessToPrivateAudio.Visible = false;
                            pnlDenyAccessToPrivateAudio.Visible = false;
                        }

                        #endregion

                        #region activate/deactivate RealPerson Verification links

                        if (Config.Users.EnableRealPersonVerificationFunctionality &&
                            CurrentUserSession != null)
                        {

                            using (var db = new Model.ezFixUpDataContext())
                            {
                                var verifiedByThisUser =
                                    db.VerifiedUsers.Any(u => u.vu_verifiedby == CurrentUserSession.Username
                                                                   && u.vu_verifieduser == ViewedUser.Username);

                                if (verifiedByThisUser || CurrentUserSession.IsUserVerified(user.Username))
                                    pnlCertifyUserIsGenuine.Visible = false;
                                else
                                    pnlRemoveVerifiedUserStatus.Visible = false;
                            }
                        }
                        else
                        {
                            pnlCertifyUserIsGenuine.Visible = false;
                            pnlRemoveVerifiedUserStatus.Visible = false;
                        }

                        #endregion

                        #region Set "block/unlblock user" links

                        if (CurrentUserSession != null)
                        {
                            if (CurrentUserSession.IsUserBlocked(ViewedUser.Username))
                                pnlBlockUser.Visible = false;
                            else
                                pnlUnblockUser.Visible = false;
                        }
                        else
                        {
                            pnlBlockUser.Visible = false;
                            pnlUnblockUser.Visible = false;
                        }

                        #endregion

                        #region Enable/Disable ViewBlog

                        pnlBlog.Visible = Config.Misc.EnableBlogs && Blog.HasPosts(ViewedUser.Username);

                        #endregion

                        #region Enable/Disable ViewEvents

                        pnlViewEvents.Visible = Config.Users.EnableUserEventsPage;

                        #endregion

                        #region Add report abuse option

                        if (Config.AbuseReports.UserCanReportProfileAbuse
                            && (CurrentUserSession != null && (CurrentUserSession.BillingPlanOptions.UserCanReportAbuse.Value
                            || CurrentUserSession.Level != null && CurrentUserSession.Level.Restrictions.UserCanReportAbuse)))
                        {
                            pnlReportAbuseLink.Visible = true;
                        }

                        #endregion

                        #region Show blog if param is supplied

                        // Left for compatibility with old links to blog posts
                        if (Request.Params["bpid"] != null && !(Page is ShowUserBlog))
                        {
                            try
                            {
                                int blogPostId = Convert.ToInt32(Request.Params["bpid"]);
                                Response.Redirect(UrlRewrite.CreateShowUserBlogUrl(ViewedUser.Username,
                                    blogPostId));
                                return;
                            }
                            catch (ArgumentException)
                            {
                            }
                        }

                        #endregion

                        #region Set meta tags

                        Parser parse = delegate(string text)
                                           {
                                               string result = text
                                                   .Replace("%%USERNAME%%", user.Username)
                                                   .Replace("%%AGE%%", user.Age.ToString())
                                                   .Replace("%%GENDER%%", Lang.Trans(user.Gender.ToString()))
                                                   .Replace("%%COUNTRY%%", user.Country)
                                                   .Replace("%%STATE%%", user.State)
                                                   .Replace("%%ZIP%%", user.ZipCode)
                                                   .Replace("%%CITY%%", user.City);

                                               var regex = new Regex(@"%%Q_(\d+)%%");
                                               Match match = regex.Match(result);
                                               while (match.Success)
                                               {
                                                   foreach (Capture capture in match.Groups[1].Captures)
                                                   {
                                                       int questionId;
                                                       if (!int.TryParse(capture.Value, out questionId)) continue;
                                                       try
                                                       {
                                                           ProfileAnswer answer =
                                                               ProfileAnswer.Fetch(user.Username, questionId);
                                                           result =
                                                               result.Replace(String.Format("%%Q_{0}%%", questionId),
                                                                              Server.HtmlEncode(answer.Value));
                                                       }
                                                       catch (NotFoundException)
                                                       {
                                                           continue;
                                                       }
                                                   }
                                                   match = match.NextMatch();
                                               }

                                               return result;
                                           };

                        Page.Header.Title = parse(Config.SEO.ShowUserTitleTemplate);

                        var metaDesc = new HtmlMeta
                                           {
                                               ID = "Description",
                                               Name = "description",
                                               Content = parse(Config.SEO.ShowUserMetaDescriptionTemplate)
                                           };
                        Page.Header.Controls.Add(metaDesc);

                        var metaKeywords = new HtmlMeta
                                               {
                                                   ID = "Keywords",
                                                   Name = "keywords",
                                                   Content = parse(Config.SEO.ShowUserMetaKeywordsTemplate)
                                               };
                        Page.Header.Controls.Add(metaKeywords);

                        #endregion

                        #region Show AddThis link

                        if (Config.ThirdPartyServices.UseAddThis)
                        {
                            divAddThis.Visible = true;
                            divAddThis.InnerHtml = Config.ThirdPartyServices.AddThisCode;
                        }

                        #endregion
                    }
                    catch (ThreadAbortException)
                    {
                    }
                    catch (ArgumentException)
                    {
                        Response.Redirect(MatchmakerHelper.CurrentHomePage);
                    }
                    catch (NotFoundException)
                    {
                        Response.Redirect(MatchmakerHelper.CurrentHomePage);
                    }
                    catch (Exception err)
                    {
                        Global.Logger.LogError(err);
                        Response.Redirect(MatchmakerHelper.CurrentHomePage);
                    }
                }
                else
                {
                    Response.Redirect(MatchmakerHelper.CurrentHomePage);
                }

                #region Show/Hide links

                if (CurrentUserSession != null)
                {
                    if (Config.Users.EnableFavorites)
                    {
                        bool isFavorite = CurrentUserSession.IsUserInFavouriteList(ViewedUser.Username);
                        pnlRemoveFromFavourites.Visible = isFavorite;
                        pnlAddToFavourites.Visible = !isFavorite;
                    }
                    else
                    {
                        pnlRemoveFromFavourites.Visible = false;
                        pnlAddToFavourites.Visible = false;
                    }

                    if (Config.Users.EnableFriends)
                    {
                        bool isFriend = CurrentUserSession.IsUserInFriendList(ViewedUser.Username);
                        pnlRemoveFromFriends.Visible = isFriend;
                        pnlAddToFriends.Visible = !isFriend;
                        //pnlViewMutualFriends.Visible = isFriend;
                    }
                    else
                    {
                        pnlAddToFriends.Visible = false;
                        pnlRemoveFromFriends.Visible = false;
                        //pnlViewMutualFriends.Visible = false;
                    }
                }
                else
                {
                    pnlRemoveFromFavourites.Visible = false;
                    pnlAddToFavourites.Visible = false;
                    pnlAddToFriends.Visible = false;
                    pnlRemoveFromFriends.Visible = false;
                    //pnlViewMutualFriends.Visible = false;
                }

                if (Page is ShowUserPage && Config.ThirdPartyServices.UseGoogleTranslateForMessages)
                {
                    divTranslate.Visible = true;
                }

                #endregion
            }

            #region Apply profile skin

            if (ViewedUser.ProfileSkin != null || Request.Params["skin"] != null)
            {
                var cssSkinCommon = new HtmlLink();
                cssSkinCommon.Attributes.Add("rel", "stylesheet");
                cssSkinCommon.Attributes.Add("type", "text/css");
                cssSkinCommon.Href = "Skins/common.css";
                Page.Header.Controls.Add(cssSkinCommon);

                var cssSkin = new HtmlLink();
                cssSkin.Attributes.Add("rel", "stylesheet");
                cssSkin.Attributes.Add("type", "text/css");
                cssSkin.Href = Request.Params["skin"] ?? ViewedUser.ProfileSkin;
                Page.Header.Controls.Add(cssSkin);
            }

            #endregion

            PrepareLinks();
        }
Exemple #9
0
        private static BannerCode[] Fetch(int? id, ePosition? position, bool? getDefault, eSortColumn sortColumn)
        {
            string cacheKey = String.Format("BannerCode_Fetch_{0}_{1}_{2}_{3}", id, position, getDefault, sortColumn);

            if (HttpContext.Current != null && HttpContext.Current.Cache[cacheKey] != null)
            {
                return HttpContext.Current.Cache[cacheKey] as BannerCode[];
            }

            using (var db = new Model.ezFixUpDataContext())
            {
                var bannerCodes = from bc in db.BannerCodes
                                  where (!id.HasValue || bc.bc_id == id)
                                        && (!position.HasValue || bc.bc_position == (int?) position)
                                        && (!getDefault.HasValue || bc.bc_target == null)
                                  select new BannerCode
                                             {
                                                 id = bc.bc_id,
                                                 position = (ePosition) bc.bc_position,
                                                 priority = bc.bc_priority,
                                                 target = bc.bc_target,
                                                 code = bc.bc_code
                                             };
                switch (sortColumn)
                {
                    case eSortColumn.None :
                        break;
                    case eSortColumn.Priority :
                        bannerCodes = bannerCodes.OrderByDescending(bc => bc.priority);
                        break;
                }

                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Cache.Insert(cacheKey, bannerCodes.ToArray(), CacheDependencies.Get(), DateTime.Now.AddMinutes(30),
                        Cache.NoSlidingExpiration);
                }

                return bannerCodes.ToArray();
            }
        }