示例#1
0
    protected void ViewCount()
    {
        if (pageid != null)
        {
            Guid currentwikipage = new Guid(pageid);

            PXGraph article         = PXGraph.CreateInstance(typeof(KBArticleMaint));
            PXCache responsesummary = article.Caches[typeof(KBResponseSummary)];
            PXCache responses       = article.Caches[typeof(KBResponse)];

            PXResult <WikiPage, WikiPageLanguage, WikiRevision> result = (PXResult <WikiPage, WikiPageLanguage, WikiRevision>) PXSelectJoin <WikiPage,
                                                                                                                                             InnerJoin <WikiPageLanguage, On <WikiPageLanguage.pageID, Equal <WikiPage.pageID> >,
                                                                                                                                                        InnerJoin <WikiRevision, On <WikiRevision.pageID, Equal <WikiPage.pageID> > > >,
                                                                                                                                             Where <WikiPage.pageID, Equal <Required <WikiPage.pageID> > > >
                                                                         .SelectWindowed(new PXGraph(), 0, 1, currentwikipage);

            Guid userId = PXAccess.GetUserID();
            PXResult <KBResponseSummary> resultsummary = (PXResult <KBResponseSummary>) PXSelect <KBResponseSummary, Where <KBResponseSummary.pageID, Equal <Required <KBResponseSummary.pageID> > > >
                                                         .SelectWindowed(article, 0, 1, currentwikipage);

            PXResult <KBResponse> resnonse = (PXResult <KBResponse>) PXSelect <KBResponse,
                                                                               Where <KBResponse.userID, Equal <Required <KBResponse.userID> >,
                                                                                      And <KBResponse.pageID, Equal <Required <KBResponse.pageID> > > > >
                                             .SelectWindowed(article, 0, 1, userId, currentwikipage);

            if (result != null)
            {
                WikiPage         wp  = result[typeof(WikiPage)] as WikiPage;
                WikiPageLanguage wpl = result[typeof(WikiPageLanguage)] as WikiPageLanguage;

                KBResponseSummary kbrs        = responsesummary.CreateInstance() as KBResponseSummary;
                KBResponse        newresnonse = responses.CreateInstance() as KBResponse;

                if (resultsummary != null)
                {
                    kbrs = resultsummary[typeof(KBResponseSummary)] as KBResponseSummary;
                }

                if (resnonse != null)
                {
                    newresnonse = resnonse[typeof(KBResponse)] as KBResponse;
                }

                if (wp != null && wpl != null)
                {
                    if (kbrs == null || kbrs.PageID == null)
                    {
                        kbrs.PageID                 = currentwikipage;
                        kbrs.Views                  = 1;
                        kbrs.Markcount              = 0;
                        kbrs.Marksummary            = 0;
                        kbrs.CreatedByID            = wp.CreatedByID;
                        kbrs.CreatedByScreenID      = "WP00000";
                        kbrs.CreatedDateTime        = wp.CreatedDateTime;
                        kbrs.LastModifiedByID       = wp.LastModifiedByID;
                        kbrs.LastModifiedByScreenID = "WP00000";
                        kbrs.LastModifiedDateTime   = wp.LastModifiedDateTime;
                        kbrs.tstamp                 = wp.tstamp;
                        responsesummary.Insert(kbrs);
                        responsesummary.PersistInserted(kbrs);
                        responsesummary.Clear();
                    }
                    else
                    {
                        kbrs.Views++;
                        responsesummary.Update(kbrs);
                        responsesummary.PersistUpdated(kbrs);
                        responsesummary.Clear();
                    }

                    if (newresnonse == null || newresnonse.PageID == null)
                    {
                        newresnonse.PageID                 = currentwikipage;
                        newresnonse.RevisionID             = 1;
                        newresnonse.OldMark                = 0;
                        newresnonse.NewMark                = 0;
                        newresnonse.Date                   = PXTimeZoneInfo.Now;
                        newresnonse.UserID                 = userId;
                        newresnonse.Summary                = "";
                        newresnonse.CreatedByID            = wp.CreatedByID;
                        newresnonse.CreatedByScreenID      = "WP00000";
                        newresnonse.CreatedDateTime        = wp.CreatedDateTime;
                        newresnonse.LastModifiedByID       = wp.LastModifiedByID;
                        newresnonse.LastModifiedByScreenID = "WP00000";
                        newresnonse.LastModifiedDateTime   = wp.LastModifiedDateTime;
                        newresnonse.tstamp                 = wp.tstamp;
                        responses.Insert(newresnonse);
                        responses.PersistInserted(newresnonse);
                        responses.Clear();
                    }
                }
            }
        }
    }
示例#2
0
    private void InitHeader(Guid pageID)
    {
        PXResult <WikiPage, WikiPageLanguage> result = (PXResult <WikiPage, WikiPageLanguage>) PXSelectJoin <WikiPage,
                                                                                                             InnerJoin <WikiPageLanguage, On <WikiPageLanguage.pageID, Equal <WikiPage.pageID> > >,
                                                                                                             Where <WikiPage.pageID, Equal <Required <WikiPage.pageID> > > > .SelectWindowed(new PXGraph(), 0, 1, pageID);

        PXResult <KBResponseSummary> resultsummary = (PXResult <KBResponseSummary>) PXSelect <KBResponseSummary, Where <KBResponseSummary.pageID, Equal <Required <KBResponseSummary.pageID> > > > .SelectWindowed(new PXGraph(), 0, 1, pageID);

        if (result != null)
        {
            WikiPage          wp   = result[typeof(WikiPage)] as WikiPage;
            WikiPageLanguage  wpl  = result[typeof(WikiPageLanguage)] as WikiPageLanguage;
            KBResponseSummary kbrs = new KBResponseSummary();

            if (resultsummary != null)
            {
                kbrs = resultsummary[typeof(KBResponseSummary)] as KBResponseSummary;
            }

            PXKB.Text = wp.Name + ": " + wpl.Title;

            PXCategori.Text = PXMessages.LocalizeNoPrefix(Msg.Category) + ": ";
            bool firstcategory = false;
            foreach (PXResult <SPWikiCategoryTags, SPWikiCategory> category in PXSelectJoin <SPWikiCategoryTags,
                                                                                             InnerJoin <SPWikiCategory, On <SPWikiCategory.categoryID, Equal <SPWikiCategoryTags.categoryID> > >,
                                                                                             Where <SPWikiCategoryTags.pageID, Equal <Required <SPWikiCategoryTags.pageID> > > > .Select(new PXGraph(), pageID))
            {
                SPWikiCategory wc = category[typeof(SPWikiCategory)] as SPWikiCategory;
                if (firstcategory)
                {
                    PXCategori.Text = PXCategori.Text + ", ";
                }
                PXCategori.Text = PXCategori.Text + wc.Description;
                firstcategory   = true;
            }

            PXProduct.Text = PXMessages.LocalizeNoPrefix(Msg.AppliesTo) + ": ";
            bool firstproduct = false;
            foreach (PXResult <SPWikiProductTags, SPWikiProduct> category in PXSelectJoin <SPWikiProductTags,
                                                                                           InnerJoin <SPWikiProduct, On <SPWikiProduct.productID, Equal <SPWikiProductTags.productID> > >,
                                                                                           Where <SPWikiProductTags.pageID, Equal <Required <SPWikiProductTags.pageID> > > > .Select(new PXGraph(), pageID))
            {
                SPWikiProduct wc = category[typeof(SPWikiProduct)] as SPWikiProduct;
                if (firstproduct)
                {
                    PXProduct.Text = PXProduct.Text + ", ";
                }
                PXProduct.Text = PXProduct.Text + wc.Description;
                firstproduct   = true;
            }

            PXKBName.Text        = PXMessages.LocalizeNoPrefix(Msg.Article) + ": " + wp.Name + ' ';
            PXCreateDate.Text    = PXMessages.LocalizeNoPrefix(Msg.CreateDate) + ": " + wp.CreatedDateTime;
            PXLastPublished.Text = PXMessages.LocalizeNoPrefix(Msg.LastModified) + ": " + wpl.LastPublishedDateTime + ' ';
            PXViews.Text         = PXMessages.LocalizeNoPrefix(Msg.Views) + ": " + kbrs.Views.ToString() + ' ';

            PXRating.Text = PXMessages.LocalizeNoPrefix(Msg.Rating) + ": ";
            if (kbrs != null && kbrs.Markcount != null && kbrs.Markcount != 0 && kbrs.Marksummary != null && kbrs.Marksummary != 0)
            {
                int    AvRate      = (int)((int)kbrs.Marksummary / (int)kbrs.Markcount);
                Int32  Marksummary = (int)kbrs.Marksummary;
                Int32  Markcount   = (int)kbrs.Markcount;
                double dAvRate     = (double)Marksummary / (double)Markcount;
                PXdAvRate.Text = "(" + Math.Round(dAvRate, 2).ToString() + ")";
                switch (AvRate)
                {
                case 0:
                    PXImage1.ImageUrl = "main@FavoritesGray";
                    PXImage2.ImageUrl = "main@FavoritesGray";
                    PXImage3.ImageUrl = "main@FavoritesGray";
                    PXImage4.ImageUrl = "main@FavoritesGray";
                    PXImage5.ImageUrl = "main@FavoritesGray";
                    break;

                case 1:
                    PXImage1.ImageUrl = "main@Favorites";
                    PXImage2.ImageUrl = "main@FavoritesGray";
                    PXImage3.ImageUrl = "main@FavoritesGray";
                    PXImage4.ImageUrl = "main@FavoritesGray";
                    PXImage5.ImageUrl = "main@FavoritesGray";
                    break;

                case 2:
                    PXImage1.ImageUrl = "main@Favorites";
                    PXImage2.ImageUrl = "main@Favorites";
                    PXImage3.ImageUrl = "main@FavoritesGray";
                    PXImage4.ImageUrl = "main@FavoritesGray";
                    PXImage5.ImageUrl = "main@FavoritesGray";
                    break;

                case 3:
                    PXImage1.ImageUrl = "main@Favorites";
                    PXImage2.ImageUrl = "main@Favorites";
                    PXImage3.ImageUrl = "main@Favorites";
                    PXImage4.ImageUrl = "main@FavoritesGray";
                    PXImage5.ImageUrl = "main@FavoritesGray";
                    break;

                case 4:
                    PXImage1.ImageUrl = "main@Favorites";
                    PXImage2.ImageUrl = "main@Favorites";
                    PXImage3.ImageUrl = "main@Favorites";
                    PXImage4.ImageUrl = "main@Favorites";
                    PXImage5.ImageUrl = "main@FavoritesGray";
                    break;

                case 5:
                    PXImage1.ImageUrl = "main@Favorites";
                    PXImage2.ImageUrl = "main@Favorites";
                    PXImage3.ImageUrl = "main@Favorites";
                    PXImage4.ImageUrl = "main@Favorites";
                    PXImage5.ImageUrl = "main@Favorites";
                    break;

                default:
                    PXImage1.ImageUrl = "main@FavoritesGray";
                    PXImage2.ImageUrl = "main@FavoritesGray";
                    PXImage3.ImageUrl = "main@FavoritesGray";
                    PXImage4.ImageUrl = "main@FavoritesGray";
                    PXImage5.ImageUrl = "main@FavoritesGray";
                    break;
                }
            }
        }
    }
示例#3
0
    protected void Rate_PageRate(object sender, EventArgs e)
    {
        Filltables();
        Guid currentwikipage = new Guid(pageid);

        PXGraph article = PXGraph.CreateInstance(typeof(KBArticleMaint));

        PXCache response        = article.Caches[typeof(KBResponse)];
        PXCache responsesummary = article.Caches[typeof(KBResponseSummary)];

        PXResult <WikiPage, WikiPageLanguage, WikiRevision> result = (PXResult <WikiPage, WikiPageLanguage, WikiRevision>) PXSelectJoin
                                                                     <WikiPage,
                                                                      InnerJoin <WikiPageLanguage, On <WikiPageLanguage.pageID, Equal <WikiPage.pageID> >,
                                                                                 InnerJoin <WikiRevision, On <WikiRevision.pageID, Equal <WikiPage.pageID> > > >,
                                                                      Where <WikiPage.pageID, Equal <Required <WikiPage.pageID> > >,
                                                                      OrderBy <Desc <WikiRevision.pageRevisionID> > > .SelectWindowed(new PXGraph(), 0, 1, currentwikipage);

        Guid userId = PXAccess.GetUserID();
        PXResult <KBResponseSummary> resultsummary = (PXResult <KBResponseSummary>) PXSelect <KBResponseSummary, Where <KBResponseSummary.pageID, Equal <Required <KBResponseSummary.pageID> > > >
                                                     .SelectWindowed(article, 0, 1, currentwikipage);

        PXResult <KBResponse> resnonse = (PXResult <KBResponse>) PXSelect <KBResponse,
                                                                           Where <KBResponse.userID, Equal <Required <KBResponse.userID> >,
                                                                                  And <KBResponse.pageID, Equal <Required <KBResponse.pageID> > > > > .SelectWindowed(article, 0, 1, userId, currentwikipage);

        if (result != null)
        {
            WikiPage         wp  = result[typeof(WikiPage)] as WikiPage;
            WikiPageLanguage wpl = result[typeof(WikiPageLanguage)] as WikiPageLanguage;

            KBResponseSummary kbrs        = responsesummary.CreateInstance() as KBResponseSummary;
            KBResponse        newresnonse = response.CreateInstance() as KBResponse;

            if (resultsummary != null)
            {
                kbrs = resultsummary[typeof(KBResponseSummary)] as KBResponseSummary;
            }

            if (resnonse != null)
            {
                newresnonse = resnonse[typeof(KBResponse)] as KBResponse;
                if (wp != null && wpl != null && newresnonse.NewMark != null)
                {
                    if (newresnonse.OldMark != 0)
                    {
                        kbrs.Marksummary = kbrs.Marksummary - newresnonse.OldMark;
                        kbrs.Marksummary = kbrs.Marksummary + newresnonse.NewMark;
                    }
                    else
                    {
                        kbrs.Markcount   = kbrs.Markcount + 1;
                        kbrs.Marksummary = kbrs.Marksummary + newresnonse.NewMark;
                    }

                    int    AvRate      = (int)((int)kbrs.Marksummary / (int)kbrs.Markcount);
                    Int32  Marksummary = (int)kbrs.Marksummary;
                    Int32  Markcount   = (int)kbrs.Markcount;
                    double dAvRate     = (double)Marksummary / (double)Markcount;
                    kbrs.AvRate = dAvRate;

                    responsesummary.Update(kbrs);
                    responsesummary.PersistUpdated(kbrs);
                    responsesummary.Clear();


                    newresnonse.PageID                 = currentwikipage;
                    newresnonse.RevisionID             = 1;
                    newresnonse.OldMark                = newresnonse.NewMark;
                    newresnonse.Date                   = PXTimeZoneInfo.Now;
                    newresnonse.Summary                = "";
                    newresnonse.CreatedByID            = wp.CreatedByID;
                    newresnonse.CreatedByScreenID      = "WP00000";
                    newresnonse.CreatedDateTime        = wp.CreatedDateTime;
                    newresnonse.LastModifiedByID       = wp.LastModifiedByID;
                    newresnonse.LastModifiedByScreenID = "WP00000";
                    newresnonse.LastModifiedDateTime   = wp.LastModifiedDateTime;

                    response.Update(newresnonse);
                    response.PersistUpdated(newresnonse);
                    response.Clear();
                }
            }

            else
            {
                if (wp != null && wpl != null && newresnonse.NewMark != null)
                {
                    newresnonse.PageID                 = currentwikipage;
                    newresnonse.RevisionID             = 1;
                    newresnonse.OldMark                = newresnonse.NewMark;
                    newresnonse.Date                   = PXTimeZoneInfo.Now;
                    newresnonse.UserID                 = userId;
                    newresnonse.Summary                = "";
                    newresnonse.CreatedByID            = wp.CreatedByID;
                    newresnonse.CreatedByScreenID      = "WP00000";
                    newresnonse.CreatedDateTime        = wp.CreatedDateTime;
                    newresnonse.LastModifiedByID       = wp.LastModifiedByID;
                    newresnonse.LastModifiedByScreenID = "WP00000";
                    newresnonse.LastModifiedDateTime   = wp.LastModifiedDateTime;

                    if (kbrs == null || kbrs.PageID == null)
                    {
                        kbrs.PageID                 = currentwikipage;
                        kbrs.CreatedByID            = wp.CreatedByID;
                        kbrs.CreatedByScreenID      = "WP00000";
                        kbrs.CreatedDateTime        = wp.CreatedDateTime;
                        kbrs.LastModifiedByID       = wp.LastModifiedByID;
                        kbrs.LastModifiedByScreenID = "WP00000";
                        kbrs.LastModifiedDateTime   = wp.LastModifiedDateTime;
                        kbrs.Markcount              = 1;
                        kbrs.Marksummary            = newresnonse.NewMark;

                        int    AvRate      = (int)((int)kbrs.Marksummary / (int)kbrs.Markcount);
                        Int32  Marksummary = (int)kbrs.Marksummary;
                        Int32  Markcount   = (int)kbrs.Markcount;
                        double dAvRate     = (double)Marksummary / (double)Markcount;
                        kbrs.AvRate = dAvRate;

                        responsesummary.Insert(kbrs);
                        responsesummary.PersistInserted(kbrs);
                        responsesummary.Clear();
                    }
                    else
                    {
                        kbrs.Markcount   = kbrs.Markcount + 1;
                        kbrs.Marksummary = kbrs.Marksummary + newresnonse.NewMark;
                        responsesummary.Update(kbrs);
                        responsesummary.PersistUpdated(kbrs);
                        responsesummary.Clear();
                    }
                    response.Insert(newresnonse);
                    response.PersistInserted(newresnonse);
                    response.Clear();
                }
            }

            string path = PXUrl.SiteUrlWithPath();
            path += path.EndsWith("/") ? "" : "/";
            var url = string.Format("{0}Wiki/{1}?pageid={2}",
                                    path, this.ResolveClientUrl("~/Wiki/ShowWiki.aspx"), pageid);
            url = url + "&rateid=" + Rate.Value;
            throw new Exception("Redirect0:" + url);
        }
    }
示例#4
0
	private void InitHeader(Guid pageID)
	{	
		PXResult<WikiPage, WikiPageLanguage> result = (PXResult<WikiPage, WikiPageLanguage>)PXSelectJoin<WikiPage,
			InnerJoin<WikiPageLanguage, On<WikiPageLanguage.pageID, Equal<WikiPage.pageID>>>,
			Where<WikiPage.pageID, Equal<Required<WikiPage.pageID>>>>.SelectWindowed(new PXGraph(), 0, 1, pageID);

		PXResult<KBResponseSummary> resultsummary = (PXResult<KBResponseSummary>)PXSelect<KBResponseSummary, Where<KBResponseSummary.pageID, Equal<Required<KBResponseSummary.pageID>>>>.SelectWindowed(new PXGraph(), 0, 1, pageID);

		if (result != null)
		{
			WikiPage wp = result[typeof(WikiPage)] as WikiPage;
			WikiPageLanguage wpl = result[typeof(WikiPageLanguage)] as WikiPageLanguage;
			KBResponseSummary kbrs = new KBResponseSummary();

			if (resultsummary != null)
				kbrs = resultsummary[typeof(KBResponseSummary)] as KBResponseSummary;
			
			PXKB.Text = wp.Name + ": " + wpl.Title;
			
			PXCategori.Text = "Category: ";
			bool firstcategory = false;
			foreach (PXResult<SPWikiCategoryTags, SPWikiCategory> category in PXSelectJoin<SPWikiCategoryTags,
										InnerJoin<SPWikiCategory, On<SPWikiCategory.categoryID, Equal<SPWikiCategoryTags.categoryID>>>,
										Where<SPWikiCategoryTags.pageID, Equal<Required<SPWikiCategoryTags.pageID>>>>.Select(new PXGraph(), pageID))
			{
				
				SPWikiCategory wc = category[typeof(SPWikiCategory)] as SPWikiCategory;
				if (firstcategory)
					PXCategori.Text = PXCategori.Text + ", ";
				PXCategori.Text = PXCategori.Text + wc.Description;
				firstcategory = true;

			}

			PXProduct.Text = "Applies to: ";
			bool firstproduct = false;
			foreach (PXResult<SPWikiProductTags, SPWikiProduct> category in PXSelectJoin<SPWikiProductTags,
										InnerJoin<SPWikiProduct, On<SPWikiProduct.productID, Equal<SPWikiProductTags.productID>>>,
										Where<SPWikiProductTags.pageID, Equal<Required<SPWikiProductTags.pageID>>>>.Select(new PXGraph(), pageID))
			{
				SPWikiProduct wc = category[typeof(SPWikiProduct)] as SPWikiProduct;
				if (firstproduct)
					PXProduct.Text = PXProduct.Text + ", ";
				PXProduct.Text = PXProduct.Text + wc.Description;
				firstproduct = true;
			}

			PXKBName.Text = "Article: " + wp.Name + ' ';
			PXLastPublished.Text = "Published on: " + wpl.LastPublishedDateTime + ' ';
			PXLastModified.Text = "Last modified: " + wp.LastModifiedDateTime + ' ';
			PXViews.Text = "Views: " + kbrs.Views.ToString() + ' ';

			PXRating.Text = "Rating: ";
			if (kbrs != null && kbrs.Markcount != null && kbrs.Markcount != 0 && kbrs.Marksummary != null && kbrs.Marksummary != 0)
			{
				int AvRate = (int)((int)kbrs.Marksummary / (int)kbrs.Markcount);
				Int32 Marksummary = (int)kbrs.Marksummary;
				Int32 Markcount = (int)kbrs.Markcount;
				double dAvRate = (double)Marksummary / (double)Markcount;
				PXdAvRate.Text = "(" + Math.Round(dAvRate, 2).ToString() + ")";
				switch (AvRate)
				{ 
					case 0:
						PXImage1.ImageUrl = "main@FavoritesGray";
						PXImage2.ImageUrl = "main@FavoritesGray";
						PXImage3.ImageUrl = "main@FavoritesGray";
						PXImage4.ImageUrl = "main@FavoritesGray";
						PXImage5.ImageUrl = "main@FavoritesGray";
						break;
					case 1:
						PXImage1.ImageUrl = "main@Favorites";
						PXImage2.ImageUrl = "main@FavoritesGray";
						PXImage3.ImageUrl = "main@FavoritesGray";
						PXImage4.ImageUrl = "main@FavoritesGray";
						PXImage5.ImageUrl = "main@FavoritesGray";
						break;
					case 2:
						PXImage1.ImageUrl = "main@Favorites";
						PXImage2.ImageUrl = "main@Favorites";
						PXImage3.ImageUrl = "main@FavoritesGray";
						PXImage4.ImageUrl = "main@FavoritesGray";
						PXImage5.ImageUrl = "main@FavoritesGray";
						break;
					case 3:
						PXImage1.ImageUrl = "main@Favorites";
						PXImage2.ImageUrl = "main@Favorites";
						PXImage3.ImageUrl = "main@Favorites";
						PXImage4.ImageUrl = "main@FavoritesGray";
						PXImage5.ImageUrl = "main@FavoritesGray";
						break;
					case 4:
						PXImage1.ImageUrl = "main@Favorites";
						PXImage2.ImageUrl = "main@Favorites";
						PXImage3.ImageUrl = "main@Favorites";
						PXImage4.ImageUrl = "main@Favorites";
						PXImage5.ImageUrl = "main@FavoritesGray";
						break;
					case 5:
						PXImage1.ImageUrl = "main@Favorites";
						PXImage2.ImageUrl = "main@Favorites";
						PXImage3.ImageUrl = "main@Favorites";
						PXImage4.ImageUrl = "main@Favorites";
						PXImage5.ImageUrl = "main@Favorites";
						break;
					default:
						PXImage1.ImageUrl = "main@FavoritesGray";
						PXImage2.ImageUrl = "main@FavoritesGray";
						PXImage3.ImageUrl = "main@FavoritesGray";
						PXImage4.ImageUrl = "main@FavoritesGray";
						PXImage5.ImageUrl = "main@FavoritesGray";
						break;
				}				
			}	
		}		
	}