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