Example #1
0
        /// <summary>
        /// Called by the dna framework so that the component can have a chance at processing the request
        /// </summary>
        public override void ProcessRequest()
        {
            RootElement.RemoveAll();

            MediaAssetParameters mediaAssetParams = new MediaAssetParameters();

            GetPageParams(mediaAssetParams);

            ProcessActions(mediaAssetParams);
        }
Example #2
0
        private void ProcessActions(MediaAssetParameters mediaAssetParams)
        {
            _builderRoot = AddElementTag(RootElement, "MEDIAASSETBUILDER");

            if (InputContext.CurrentSite.IsEmergencyClosed || InputContext.CurrentSite.IsSiteScheduledClosed(DateTime.Now))
            {
                AddErrorXml("Site Closed", "Sites closed.", RootElement);
                return;
            }

            switch (mediaAssetParams.Action)
            {
                case MediaAssetParameters.MediaAssetAction.create:
                {
                    ProcessCreateUpdateAssets(mediaAssetParams);
                }
                break;
                case MediaAssetParameters.MediaAssetAction.update:
                {
                    ProcessCreateUpdateAssets(mediaAssetParams);
                }
                break;
                case MediaAssetParameters.MediaAssetAction.showusersassets:
                {
                    ProcessShowUsersMediaAssets(mediaAssetParams);   
                }
                break;
                case MediaAssetParameters.MediaAssetAction.showusersarticleswithassets :
                {
                    ProcessShowUsersArticlesWithMediaAssets(mediaAssetParams);
                }
                break;
                case MediaAssetParameters.MediaAssetAction.showftpuploadqueue : 
                {
                    ProcessShowFTPUploadQueue();
                }
                break;
                case MediaAssetParameters.MediaAssetAction.reprocessfaileduploads :
                {
                    ProcessReprocessFailedUploads(mediaAssetParams.Rpmaid);
                }
                break;
                default:
                {
                    ProcessView(mediaAssetParams);
                }
                break;
            }
        }
Example #3
0
 /// <summary>
 /// Generates the XML for a call to view a particular media asset
 /// </summary>
 /// <param name="dataReader"></param>
 /// <param name="mediaAssetParams"></param>
 private void GenerateMediaAssetXML(IDnaDataReader dataReader, MediaAssetParameters mediaAssetParams)
 {
     XmlElement mediaAssetInfo = AddElementTag(_builderRoot, "MEDIAASSETINFO");
     AddTextElement(mediaAssetInfo, "ACTION", "View");
     AddIntElement(mediaAssetInfo, "ID", mediaAssetParams.MediaAssetID);
     if (dataReader.HasRows)
     {
         if (dataReader.Read())
         {
             MakeXml(dataReader, mediaAssetInfo);
         }
     }
 }
Example #4
0
        private void GenerateUsersArticleAssetsXML(IDnaDataReader dataReader, MediaAssetParameters mediaAssetParams)
        {
            int count = 0;
            int total = 0;
            bool more = false;

            XmlElement articleAsset = AddElementTag(_builderRoot, "ARTICLEMEDIAASSETINFO");
            AddAttribute(articleAsset, "CONTENTTYPE", mediaAssetParams.ContentType);
            AddAttribute(articleAsset, "SORTBY", mediaAssetParams.SortBy);
            AddAttribute(articleAsset, "SKIPTO", mediaAssetParams.Skip);
            AddAttribute(articleAsset, "SHOW", mediaAssetParams.Show);
            AddTextElement(articleAsset, "ACTION", "showusersarticleswithassets");

            if (dataReader.HasRows)
            {
                if (dataReader.Read())
                {
                    User user = new User(InputContext);
                    user.AddUserXMLBlock(dataReader, mediaAssetParams.UserID, articleAsset);

                    count = dataReader.GetInt32NullAsZero("COUNT");
                    total = dataReader.GetInt32NullAsZero("TOTAL");
                    if (total > mediaAssetParams.Skip + mediaAssetParams.Show)
                    {
                        more = true;
                    }

                    do
                    {
                        XmlElement article = AddElementTag(articleAsset, "ARTICLE");
                        AddAttribute(article, "H2G2ID",  dataReader.GetInt32NullAsZero("H2G2ID"));

                        AddTextElement(article, "SUBJECT", dataReader.GetStringNullAsEmpty("SUBJECT"));

                        XmlDocument extrainfo = new XmlDocument();
                        extrainfo.LoadXml(dataReader.GetStringNullAsEmpty("EXTRAINFO"));
                        article.AppendChild(ImportNode(extrainfo.FirstChild));

                        AddDateXml(dataReader, article, "DateCreated", "DATECREATED");
                        AddDateXml(dataReader, article, "LastUpdated", "LASTUPDATED");

                        MakeXml(dataReader, article);

                    } while (dataReader.Read());
                }
            }

            AddAttribute(articleAsset, "COUNT", count);
            AddAttribute(articleAsset, "TOTAL", total);
            AddAttribute(articleAsset, "MORE", more);
        }
Example #5
0
        private void GenerateUsersMediaAssetsXML(IDnaDataReader dataReader, MediaAssetParameters mediaAssetParams)
        {
            int count = 0;
            int total = 0;
            bool more = false;

            XmlElement usersMediaAssets = AddElementTag(_builderRoot, "MEDIAASSETINFO");
            AddAttribute(usersMediaAssets, "CONTENTTYPE", mediaAssetParams.ContentType);
            AddAttribute(usersMediaAssets, "SORTBY", mediaAssetParams.SortBy);
            AddAttribute(usersMediaAssets, "SKIPTO", mediaAssetParams.Skip);
            AddAttribute(usersMediaAssets, "SHOW", mediaAssetParams.Show);
            AddTextElement(usersMediaAssets, "ACTION", "showusersassets");

            if (dataReader.HasRows)
            {
                if (dataReader.Read())
                {
                    User user = new User(InputContext);
                    user.AddUserXMLBlock(dataReader, mediaAssetParams.UserID, usersMediaAssets);

                    count = dataReader.GetInt32NullAsZero("COUNT");
                    total = dataReader.GetInt32NullAsZero("TOTAL");
                    if (total > mediaAssetParams.Skip + mediaAssetParams.Show)
                    {
                        more = true;
                    }

                    do
                    {
                        MakeXml(dataReader, usersMediaAssets);
                    } while (dataReader.Read());
                }
            }

            AddAttribute(usersMediaAssets, "COUNT", count);
            AddAttribute(usersMediaAssets, "TOTAL", total);
            AddAttribute(usersMediaAssets, "MORE", more);
        }
Example #6
0
        private void ProcessShowUsersMediaAssets(MediaAssetParameters mediaAssetParams)
        {
            if (mediaAssetParams.UserID > 0)
            {
                string storedProcedure = GetUsersMediaAssetsSP(mediaAssetParams.ContentType);

                using (IDnaDataReader datareader = InputContext.CreateDnaDataReader(storedProcedure))
                {
                    datareader.AddParameter("userid", mediaAssetParams.UserID);
                    datareader.AddParameter("firstindex", mediaAssetParams.Skip);
                    datareader.AddParameter("lastindex", mediaAssetParams.Skip + mediaAssetParams.Show);
                    if (mediaAssetParams.SortBy == "Caption")
                    {
                        datareader.AddParameter("sortbycaption", 1);
                    }
                    if (mediaAssetParams.IsOwner)
                    {
                        datareader.AddParameter("owner", 1);
                    }
                    datareader.Execute();

                    GenerateUsersMediaAssetsXML(datareader, mediaAssetParams);
                }
            }
            else
            {
                AddErrorXml("Incorrect User ID", "Zero or negative parameter passed in.", RootElement);
            }
        }
Example #7
0
        private void ProcessView(MediaAssetParameters mediaAssetParams)
        {
            if (mediaAssetParams.MediaAssetID > 0)
            {
                string storedProcedure = GetMediaAssetSP(mediaAssetParams.ContentType);

                using (IDnaDataReader datareader = InputContext.CreateDnaDataReader(storedProcedure))
                {
                    datareader.AddParameter("mediaassetid", mediaAssetParams.MediaAssetID);
                    datareader.Execute();

                    GenerateMediaAssetXML(datareader, mediaAssetParams);
                }
            }
            else
            {
                AddErrorXml("Incorrect Media Asset ID", "Zero or negative parameter passed in.", RootElement);
            }
        }
Example #8
0
        /// <summary>
        /// Generate the XML page to show the as particular users Media Assets
        /// </summary>
        /// <param name="mediaAssetParams"></param>
        void ProcessShowUsersArticlesWithMediaAssets(MediaAssetParameters mediaAssetParams)
        {
            string storedProcedureName = GetUsersArticlesWithMediaAssetsSP(mediaAssetParams.ContentType);
            // Get the information from the database
            using (IDnaDataReader datareader = InputContext.CreateDnaDataReader(storedProcedureName))
            {
                datareader.AddParameter("userid", mediaAssetParams.UserID);
                datareader.AddParameter("firstindex", mediaAssetParams.Skip);
                datareader.AddParameter("lastindex", mediaAssetParams.Skip + mediaAssetParams.Show);

	            if ( mediaAssetParams.SortBy == "Caption" )
	            {
                    datareader.AddParameter("sortbycaption", 1);
	            }
	            else if ( mediaAssetParams.SortBy == "Rating" )
	            {
                    datareader.AddParameter("sortbyrating", 1);
	            }

	            if ( mediaAssetParams.IsOwner )
	            {
                    datareader.AddParameter("owner", 1);
	            }
                datareader.Execute();

                GenerateUsersArticleAssetsXML(datareader, mediaAssetParams);
            }
        }
Example #9
0
        private void GetPageParams(MediaAssetParameters mediaAssetParams)
        {
            int defaultShow = InputContext.GetSiteOptionValueInt("ArticleSearch", "DefaultShow");
            mediaAssetParams.MediaAssetID = InputContext.GetParamIntOrZero("ID", _docDnaMediaAssetID);
            mediaAssetParams.H2G2ID = InputContext.GetParamIntOrZero("h2g2id", _docDnaMediaAssetID);

            mediaAssetParams.Skip = InputContext.GetParamIntOrZero("skip", _docDnaSkip);
            mediaAssetParams.Show = InputContext.GetParamIntOrZero("show", _docDnaShow);
            if (mediaAssetParams.Show > 200)
            {
                mediaAssetParams.Show = 200;
            }
            else if (mediaAssetParams.Show < 1)
            {
                mediaAssetParams.Show = defaultShow;
            }
            mediaAssetParams.ContentType = InputContext.GetParamIntOrZero("contenttype", _docDnaContentType);
            mediaAssetParams.SortBy = InputContext.GetParamStringOrEmpty("sortby", _docDnaArticleSortBy);

            string action = String.Empty;

            InputContext.TryGetParamString("action", ref action, _docDnaAction);
            try
            {
                mediaAssetParams.Action = (MediaAssetParameters.MediaAssetAction)Enum.Parse(typeof(MediaAssetParameters.MediaAssetAction), action);
            }
            catch (Exception)
            {
                mediaAssetParams.Action = MediaAssetParameters.MediaAssetAction.view;
            }
            mediaAssetParams.AddToLibrary = InputContext.GetParamBoolOrFalse("AddToLibrary", _docDnaAddToLibrary);
            mediaAssetParams.IsManualUpload = InputContext.GetParamBoolOrFalse("manualupload", _docDnaManualUpload);
            mediaAssetParams.UpdateDataLoaded = InputContext.GetParamBoolOrFalse("updatedatauploaded", _docDnaUpdateDataUploaded);
            mediaAssetParams.IsExternalLink = InputContext.GetParamBoolOrFalse("externallink", _docDnaExternalLink);
            
            mediaAssetParams.Rpmaid = InputContext.GetParamIntOrZero("Rpmaid", _docDnaRPMAID);

            mediaAssetParams.UserID = InputContext.GetParamIntOrZero("userid", _docDnaUserID);
            if (mediaAssetParams.UserID == InputContext.ViewingUser.UserID)
            {
                mediaAssetParams.IsOwner = true;
            }
        }
Example #10
0
 private void ProcessCreateUpdateAssets(MediaAssetParameters mediaAssetParams)
  {
      if (!InputContext.ViewingUser.UserLoggedIn)
      {
          AddErrorXml("ProcessCreateUpdateAssets", "No logged in user", RootElement);
          return;
      }
  }