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(); } } } } }
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; } } } }
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); } }
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; } } } }