コード例 #1
0
ファイル: MediaRepository.cs プロジェクト: Saphora/FC
        public void CreateMediaDirectory(MediaDirectoryMsg msg)
        {
            MediaDirectory dir = new MediaDirectory()
            {
                DirectoryID = Guid.NewGuid(),
                ParentID = msg.ParentID,
                Media = new List<Media>(),
                Name = msg.DirectoryName

            };
            Db.MediaDirectories.Add(dir);
            Db.SaveChanges();
        }
コード例 #2
0
ファイル: SeedMedia.cs プロジェクト: Saphora/FC
        public SeedMedia(string versionID, ContentModel db, UmbracoProvider provider)
            : base(versionID, db, provider)
        {
            if (this.SeedCanRun)
            {
                Db = db;
                obsoleteMedia = new List<UObsoleteMedia>();
                GetObsoleteUmbracoMedia();
                SeedName = "Media";
                if (SeedCanRun)
                {
                    SeedStart();
                    MediaDirectory defaultDir = new MediaDirectory { Name = "Media", AuthorID= Guid.Parse("BD808F49-DEE0-4EC4-9024-DEC2A716948A"), Created = DateTime.Now, Modified =null, DirectoryID = Guid.Parse("710FE0A0-8894-40DB-8D7D-2FCBD7BA14CF"), ParentID = null };
                    if (Db.MediaDirectories.Find(defaultDir.DirectoryID.Value) == null)
                    {
                        Db.MediaDirectories.Add(defaultDir);
                    }
                    MediaDirectory obsoleteDir = new MediaDirectory { Name = "Obsolete", AuthorID = Guid.Parse("BD808F49-DEE0-4EC4-9024-DEC2A716948A"), Created= DateTime.Now, Modified=null, ParentID = defaultDir.DirectoryID.Value, DirectoryID = Guid.Parse("19D0268E-4ACA-41F5-BC14-77DC4C1343CD") };
                    if (Db.MediaDirectories.Find(obsoleteDir.DirectoryID.Value) == null)
                    {
                        Db.MediaDirectories.Add(obsoleteDir);
                    }
                    foreach (UObsoleteMedia media in obsoleteMedia)
                    {
                        if (media == null)
                        {
                            throw new Exception("MEDIA IS NULL");
                        }
                        if (Db == null)
                        {
                            throw new Exception("DB IS NULL");
                        }
                        if (obsoleteDir == null || defaultDir == null)
                        {
                            throw new Exception("ONE OF THE DIRECTORY OBJ ARE NULL");
                        }
                        if (Db.Media == null)
                        {
                            throw new Exception("DB MEDIA NULL ERRROR");
                        }

                        if (media.DataNVarchar != null)
                        {
                            if (media.ContentNodeID != null)
                            {
                                Shared.Entities.Media m = new Shared.Entities.Media();
                                m.Name = media.DataNVarchar.Split('/').Last();
                                m.MediaID = Guid.NewGuid();
                                m.DirectoryID = obsoleteDir.DirectoryID;
                                m.FileName = media.DataNVarchar;
                                m.ObsoleteID = media.ContentNodeID;
                                m.FileMimeType = "none";
                                m.Created = DateTime.Now;
                                m.Modified = null;
                                m.AuthorID = Guid.Parse("BD808F49-DEE0-4EC4-9024-DEC2A716948A");
                                Db.Media.Add(m);
                                m = new FC.Shared.Entities.Media();
                            }
                        }
                    }
                    try
                    {
                        Db.SaveChanges();
                        SeedFinished(true);
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                    {
                        HandleDbEntityValidationException(ex);
                        throw ex;
                    }
                }
                else
                {
                    SeedFinished(true);
                }
            }
        }
コード例 #3
0
ファイル: UploadController.cs プロジェクト: Saphora/FC
        public bool Handle()
        {
            MediaDirectory result = new MediaDirectory();
            HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
            int filesLength = files.AllKeys.Count()-1;
            result.DirectoryID = Guid.Parse(HttpContext.Current.Request.Form["DirectoryID"]);
            HttpContext.Current.Response.Headers.Add("content-type", "application/json");
            string abspath = HttpContext.Current.Server.MapPath("~/" + MediaRootDir);
            for (int i = 0;i <= filesLength; i++)
            {
                if(Directory.Exists(abspath))
                {
                    try
                    {
                        HttpPostedFile f = files[i];
                        Media m = new Media
                        {
                            MediaID = Guid.NewGuid(),
                            DirectoryID = result.DirectoryID,
                            Name = f.FileName
                        };
                        string path = abspath + "/" + result.DirectoryID.ToString();
                        if (!Directory.Exists(path))
                        {
                            Directory.CreateDirectory(path);
                        }
                        if (File.Exists(path + "/" + f.FileName))
                        {
                            int count = Directory.GetFileSystemEntries(path).Where(w => w.Contains(Path.GetFileNameWithoutExtension(path + "/" + f.FileName))).Count();
                            FileInfo fi = new FileInfo(path + "/" + f.FileName);
                            string nFileName = Path.GetFileNameWithoutExtension(path + "/" + f.FileName) + "_" + count +fi.Extension;
                            m.Name = Path.GetFileNameWithoutExtension(path + "/" + f.FileName) + "_" + count + fi.Extension;
                            m.FileName = MediaRootDir + result.DirectoryID + '/' + m.Name;

                            f.SaveAs(path + "/" + nFileName);
                        }
                        else
                        {
                            f.SaveAs(path + "/" + f.FileName);
                            m.Name = f.FileName;
                            m.FileName = MediaRootDir + result.DirectoryID + '/' + f.FileName;
                        }

                        if (File.Exists(HttpContext.Current.Server.MapPath("~/" + m.FileName))) {
                            repo.CreateMedia(m);
                        } else
                        {
                            throw new Exception("File: "+ HttpContext.Current.Server.MapPath("~/" + m.FileName)+" not exists" );
                        }
                    } catch(Exception ex)
                    {
                        throw ex;
                    }

                } else
                {
                    throw new DirectoryNotFoundException("The path: "+abspath+" is not found!");
                }
            }
            return true;
        }
コード例 #4
0
ファイル: MediaRepository.cs プロジェクト: Saphora/FC
 public void UpdateMediaDirectory(MediaDirectory media)
 {
     Db.Entry<MediaDirectory>(media).State = System.Data.Entity.EntityState.Modified;
     Db.SaveChanges();
 }