Beispiel #1
0
        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);
                }
            }
        }