示例#1
0
        public Media HandleMedia(int parentNodeId, PostedMediaFile postedFile, User user)
        {
            // Check to see if a file exists
            Media  media;
            string mediaName = !string.IsNullOrEmpty(postedFile.DisplayName)
                ? postedFile.DisplayName
                : ExtractTitleFromFileName(postedFile.FileName);

            if (postedFile.ReplaceExisting && TryFindExistingMedia(parentNodeId, postedFile.FileName, out media))
            {
                // Do nothing as existing media is returned
            }
            else
            {
                media = Media.MakeNew(mediaName,
                                      MediaType.GetByAlias(MediaTypeAlias),
                                      user,
                                      parentNodeId);
            }

            if (postedFile.ContentLength > 0)
            {
                DoHandleMedia(media, postedFile, user);
            }

            media.XmlGenerate(new XmlDocument());

            return(media);
        }
示例#2
0
        public Media HandleMedia(int parentNodeId, PostedMediaFile postedFile, User user, bool replaceExisting)
        {
            // Check to see if a file exists
            Media media;

            if (replaceExisting && TryFindExistingMedia(parentNodeId, postedFile.FileName, out media))
            {
                // Do nothing as existing media is returned
            }
            else
            {
                media = Media.MakeNew(postedFile.FileName,
                                      MediaType.GetByAlias(MediaTypeAlias),
                                      user,
                                      parentNodeId);
            }

            if (postedFile.ContentLength > 0)
            {
                DoHandleMedia(media, postedFile, user);
            }

            media.XmlGenerate(new XmlDocument());

            return(media);
        }
示例#3
0
        public virtual bool CanHandleMedia(int parentNodeId, PostedMediaFile postedFile, User user)
        {
            try
            {
                var parentNode = new Media(parentNodeId);

                return(parentNodeId <= -1 || user.Applications.Any(app => app.alias.ToLower() == Constants.Applications.Media) && (user.StartMediaId <= 0 || ("," + parentNode.Path + ",").Contains("," + user.StartMediaId + ",")) && parentNode.ContentType.AllowedChildContentTypeIDs.Contains(MediaType.GetByAlias(MediaTypeAlias).Id));
            }
            catch
            {
                return(false);
            }
        }