using framework_business; using framework_library; using System; using System.Collections; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Reflection; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class controls_module_media : ICanvasBase { /// /// Toggle Panels View /// /// private void TogglePanels(string panelName) { try { switch (panelName) { case "pnlMediaList": pnlMediaList.Visible = true; pnlMediaItem.Visible = false; break; case "pnlMediaItem": pnlMediaList.Visible = false; pnlMediaItem.Visible = true; break; } } catch (Exception ex) { //Handle Exception exception.HandleException("media:", MethodBase.GetCurrentMethod().Name, ex, 0); //Redirect to Error Page Response.Redirect("/error", false); } } /// /// handle display of the media page based on the type of way th epage is being viewed /// private void HandleDisplay() { string mediaCategory = String.Empty; string mediaArticle = String.Empty; string canvasName = String.Empty; try { canvasName = handler.GetRoutedData("canvas-title"); mediaCategory = handler.GetRoutedData("media-category"); mediaArticle = handler.GetRoutedData("media-article"); if (canvasName != String.Empty)//canvas page { ArrayList canvasPages = xData.GetTypedByCriteriaSpecific("recId", typeof(oCanvas), "name", canvasName); foreach (oCanvas canvas in canvasPages) { lblMediaListTitle.Text = canvas.display; } BindMedia(0); TogglePanels(pnlMediaList.ID); } else if (mediaCategory != String.Empty)//media Category { foreach (oMediaType mediaTyp in xData.GetTypedByCriteriaSpecific("recId", typeof(oMediaType), "mediaType", mediaCategory)) { lblMediaListTitle.Text = mediaTyp.mediaType; BindMedia(mediaTyp.recId); TogglePanels(pnlMediaList.ID); break; } } else if (mediaArticle != string.Empty) { foreach (oMedia article in xData.GetTypedByCriteriaSpecific("recId", typeof(oMedia), "name", mediaArticle)) { PopulateArticle(article); lblMediaListTitle.Text = article.mediaTypeName; BindMedia(article.mediaType); TogglePanels(pnlMediaItem.ID); break; } } } catch (Exception ex) { //Handle Exception exception.HandleException("media:", MethodBase.GetCurrentMethod().Name, ex, 0); //Redirect to Error Page Response.Redirect("/error", false); } } /// /// Populate Article details /// private void PopulateArticle(oMedia _article) { try { if (_article.mediaDate.Year > 1901) lblMediaDate.Text = "Date: " + _article.mediaDate.ToString("dd/MM/yyyy"); lblIntroduction.Text = _article.introduction; if (_article.mediaAuthor != String.Empty) lblAuthor.Text = "By " + _article.mediaAuthor; lblMediaDetail.Text = _article.detail; lblMediaTitle.Text = _article.title; if (_article.mediaBanner != String.Empty && _article.mediaBanner.ToLower() != "none") imgBanner.ImageUrl = "~/upload/media/" + _article.mediaTypeName + "/" + _article.mediaBanner; else imgBanner.Visible = false; if (_article.mediathumb != String.Empty && _article.mediathumb.ToLower() != "none") imgMediaTumb.ImageUrl = "~/upload/media/" + _article.mediaTypeName + "/" + _article.mediathumb; else imgMediaTumb.Visible = false; } catch (Exception ex) { exception.HandleException("featured products:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Bind Media List /// private void BindMedia(int mediaType) { try { ArrayList mediaList = new ArrayList(); if (mediaType > 0) mediaList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedia), "isActive,mediaType", "1," + mediaType, "sequence, mediaDate DESC"); else mediaList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedia), "isActive", "1", "sequence, dateAdded DESC"); rptMediaList.DataSource = mediaList; rptMediaList.DataBind(); } catch (Exception ex) { exception.HandleException("featured products:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// PAge Load Event /// /// /// protected void Page_Load(object sender, EventArgs e) { try { if (!Page.IsPostBack) { HandleDisplay(); } } catch (Exception ex) { //Handle Exception exception.HandleException("media:", MethodBase.GetCurrentMethod().Name, ex, 0); //Redirect to Error Page Response.Redirect("/error", false); } } /// /// Back to list /// /// /// protected void lnkBackToMediaList_Click(object sender, EventArgs e) { try { //TogglePanels(pnlMediaList.ID); Response.Redirect("/articles/blog", false); } catch (Exception ex) { //Handle Exception exception.HandleException("media:", MethodBase.GetCurrentMethod().Name, ex, 0); //Redirect to Error Page Response.Redirect("/error", false); } } /// /// Read More /// /// /// protected void lnkReadMore_Click(object sender, EventArgs e) { ArrayList artList = new ArrayList(); try { if (sender.GetType() == typeof(LinkButton)) { // int recId = int.Parse(((LinkButton)sender).CommandArgument); if (recId > 0) { //get article artList = xData.GetTypedByCriteriaSpecific("recId", typeof(oMedia), "recId", recId.ToString()); //enumerate list foreach (oMedia article in artList) { PopulateArticle(article); //show Media Form TogglePanels(pnlMediaItem.ID); break; } } } } catch (Exception ex) { exception.HandleException("Medias:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } }