예제 #1
0
 public void Create(UArtist artist)
 {
     artist.ArtistID = Guid.NewGuid();
     Db.Artists.Add(artist);
     Db.SaveChanges();
 }
예제 #2
0
 public void Update(UArtist artist)
 {
     Db.Entry<UArtist>(artist).State = System.Data.Entity.EntityState.Modified;
     Db.SaveChanges();
 }
예제 #3
0
파일: SeedArtists.cs 프로젝트: Saphora/FC
        public SeedArtists(string versionID, ContentModel db, UmbracoProvider provider)
            : base(versionID, db, provider)
        {
            SeedName = "Artists";
            SeedStart();
            if (SeedCanRun)
            {
                List<UArtist> artists = UProvider.GetList<UArtist>("Artist").ToList();
                if (artists.Count > 0)
                {
                    foreach (UArtist a in artists)
                    {
                        try
                        {

                            UArtist tmp = new UArtist(a);
                            tmp.IsPublished = true;
                            if (!Db.Artists.Where(w => w.UmbracoID == tmp.UmbracoID).Any())
                            {
                                tmp.ArtistID = Guid.NewGuid();
                                if (a.Country != null)
                                {
                                    UCountry country = Db.Countries.Where(w => w.UmbracoID == a.Country.UmbracoID).FirstOrDefault();
                                    tmp.CountryID = country.CountryID;
                                    tmp.Country = null;
                                    List<UGenre> tmpList = new List<UGenre>();
                                    foreach (UGenre genre in a.Genres)
                                    {
                                        UGenre tmpGenre = db.Genres.Where(w => w.UmbracoID == genre.UmbracoID).First();
                                        if (!Db.G2A.Where(w => Db.Artists.Select(s => s).Where(w2 => w2.UmbracoID == tmp.UmbracoID).Select(s2 => s2.ArtistID).ToList().Contains(w.ArtistID) && w.GenreID == tmpGenre.GenreID).Any())
                                        {
                                            Db.G2A.Add(new UGenre2UArtist { G2AID = Guid.NewGuid(), ArtistID = tmp.ArtistID, GenreID = tmpGenre.GenreID });
                                        }
                                    }
                                    tmp.Genres = null;
                                    Db.Artists.Add(tmp);
                                }
                                else
                                {
                                    throw new Exception("Country for artist " + a.Name + " was null");
                                }
                            }
                        } catch(Exception ex)
                        {
                            throw ex;
                        }
                    }
                }
                try
                {
                    Db.SaveChanges();
                    SeedFinished(true);
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                {
                    HandleDbEntityValidationException(ex);
                    throw ex;
                }
                catch(Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                SeedFinished(true);
            }
        }