public async Task <BandDTO> CreateBandAsync(CreateBandDTO createBandDTO) { var genres = await _DBContext.Genres.Where(g => createBandDTO.GenreIds.Contains(g.Id)).ToListAsync(); if (genres.Count < 1) { throw new BadArgumentException("No genres found. Band can not exist without a genre."); } var band = new BandEntity { Name = createBandDTO.Name, Description = createBandDTO.Description, PhotoURL = createBandDTO.PhotoURL, BandGenres = genres.Select(genre => new BandGenreEntity { GenreId = genre.Id }).ToList() }; await _DBContext.Bands.AddAsync(band); await _DBContext.SaveChangesAsync(); var bandDTO = _mapper.Map <BandDTO>(band); return(bandDTO); }
public void WhereLiteEquals() { ArtistEntity wretzky = Database.Query <ArtistEntity>().SingleEx(a => a.Sex == Sex.Female); BandEntity smashing = (from b in Database.Query <BandEntity>() from a in b.Members where a.ToLite().Is(wretzky.ToLite()) select b).SingleEx(); }
public void MapBand() { //Arrange var id = Guid.NewGuid(); var entity = new BandEntity { Id = id, Country = "Country", Events = new List <EventEntity>(), Genre = "Genre", ImagePath = "ImagePath", LongDescription = "Long Description", Name = "Name", ShortDescription = "Short Description" }; var model = new BandDetailModel { Id = id, Country = "Country", Events = new List <EventDetailModel>(), Genre = "Genre", ImagePath = "ImagePath", LongDescription = "Long Description", Name = "Name", ShortDescription = "Short Description" }; //Act var entityAdapted = model.Adapt <BandEntity>(); entityAdapted.Events = model.Events.Adapt <List <EventEntity> >(); var modelAdapted = entity.Adapt <BandDetailModel>(); modelAdapted.Events = entity.Events.Adapt <List <EventDetailModel> >(); //Assert Assert.Equal(entity, entityAdapted, BandEntity.BandEntityComparer); Assert.Equal(model, modelAdapted, BandDetailModel.BandDetailModelComparer); }
public IList <BandEntity> SeedDataBands() { using var dbContext = DbContextFactory.CreateDbContext(); var bandList = new List <BandEntity>(); for (var i = 0; i < 50; i++) { var band = new BandEntity { Country = $"Czech{i}", Genre = $"Rock{i}", Name = $"Name{i}", ImagePath = $"C:/Users/testUser/Images/image{i}.jpg", LongDescription = $"Long description of band{i}", ShortDescription = $"Short description of band{i}" }; bandList.Add(band); dbContext.Bands.Add(band); } dbContext.SaveChanges(); return(bandList); }
public static void Initialize(MediaPlayerContext context) { if (initialized) { return; } context.Database.EnsureDeleted(); context.Database.EnsureCreated(); ArtistEntity DevonPortielje = new ArtistEntity() { Name = "Devon Portielje" }; ArtistEntity ConnerMolander = new ArtistEntity() { Name = "Conner Molander" }; ArtistEntity DylanPhillips = new ArtistEntity() { Name = "Dylan Phillips" }; ArtistEntity IsaacSymonds = new ArtistEntity() { Name = "Isaac Symonds" }; ArtistEntity TylerJoseph = new ArtistEntity() { Name = "Tyler Joseph" }; ArtistEntity JoshDun = new ArtistEntity() { Name = "Josh Dun" }; TrackEntity ThenAgain = new TrackEntity() { Name = "Then Again", Length = 199, ReleaseDate = new DateTime(2019, 11, 1) }; TrackEntity FavouriteBoy = new TrackEntity() { Name = "Favourite Boy", Length = 242, ReleaseDate = new DateTime(2019, 11, 1) }; TrackEntity Jumpsuit = new TrackEntity() { Name = "Jumpsuit", Length = 239, ReleaseDate = new DateTime(2018, 10, 5) }; TrackEntity Levitate = new TrackEntity() { Name = "Levitate", Length = 146, ReleaseDate = new DateTime(2018, 10, 5) }; TrackEntity Morph = new TrackEntity() { Name = "Morph", Length = 259, ReleaseDate = new DateTime(2018, 10, 5) }; AlbumEntity ABlemishInTheGreatLight = new AlbumEntity() { Name = "A Blemish in the Great Light", TrackEntities = new List <TrackEntity>() { ThenAgain, FavouriteBoy } }; AlbumEntity Trench = new AlbumEntity() { Name = "Trench", TrackEntities = new List <TrackEntity>() { Jumpsuit, Levitate, Morph } }; BandEntity HalfMoonRun = new BandEntity() { Name = "Half Moon Run", AlbumEntities = new List <AlbumEntity>() { ABlemishInTheGreatLight }, ArtistEntities = new List <ArtistEntity>() { DevonPortielje, ConnerMolander, DylanPhillips, IsaacSymonds } }; BandEntity TwentyOnePilots = new BandEntity() { Name = "twenty one pilots", AlbumEntities = new List <AlbumEntity>() { Trench }, ArtistEntities = new List <ArtistEntity>() { TylerJoseph, JoshDun } }; context.BandContextEntities.Add(HalfMoonRun); context.BandContextEntities.Add(TwentyOnePilots); context.SaveChanges(); initialized = true; }
public void RetrieveBand() { BandEntity sigur = Database.Query <BandEntity>().SingleEx(b => b.Name.StartsWith("Sigur")); }
public void AllSql() { BandEntity sigur = Database.Query <BandEntity>().SingleEx(b => b.Members.All(a => a.Sex == Sex.Male)); }
public void NoneSql() { BandEntity smashing = Database.Query <BandEntity>().SingleEx(b => b.Members.None(a => a.Sex == Sex.Female)); }
public static void Load() { var ama = new AmericanMusicAwardEntity { Category = "Indie Rock", Year = 1991, Result = AwardResult.Nominated } .Execute(AwardOperation.Save); BandEntity smashingPumpkins = new BandEntity { Name = "Smashing Pumpkins", Members = "Billy Corgan, James Iha, D'arcy Wretzky, Jimmy Chamberlin" .Split(',').Select(s => new ArtistEntity { Name = s.Trim(), Sex = s.Contains("Wretzky") ? Sex.Female : Sex.Male, Status = s.Contains("Wretzky") ? Status.Married : (Status?)null }).ToMList(), LastAward = ama, }.Execute(BandOperation.Save); CountryEntity usa = new CountryEntity { Name = "USA" }; CountryEntity japan = new CountryEntity { Name = Japan }; smashingPumpkins.Members.ForEach(m => m.Friends = smashingPumpkins.Members.Where(a => a.Sex != m.Sex).Select(a => a.ToLiteFat()).ToMList()); smashingPumpkins.Execute(BandOperation.Save); new NoteWithDateEntity { CreationTime = DateTime.Now.AddHours(+8), CreationDate = DateTime.Now.AddHours(+8).ToDateOnly(), Text = "American alternative rock band", Target = smashingPumpkins } .Execute(NoteWithDateOperation.Save); LabelEntity virgin = new LabelEntity { Name = "Virgin", Country = usa, Node = SqlHierarchyId.GetRoot().FirstChild() } .Execute(LabelOperation.Save); new AlbumEntity { Name = "Siamese Dream", Year = 1993, Author = smashingPumpkins, Songs = { new SongEmbedded { Name = "Disarm" } }, Label = virgin }.Execute(AlbumOperation.Save); AlbumEntity mellon = new AlbumEntity { Name = "Mellon Collie and the Infinite Sadness", Year = 1995, Author = smashingPumpkins, Songs = { new SongEmbedded { Name = "Zero", Duration = TimeSpan.FromSeconds(123) }, new SongEmbedded { Name = "1976" }, new SongEmbedded { Name = "Tonight, Tonight", Duration = TimeSpan.FromSeconds(376) } }, BonusTrack = new SongEmbedded { Name = "Jellybelly" }, Label = virgin }.Execute(AlbumOperation.Save); new NoteWithDateEntity { CreationTime = DateTime.Now.AddDays(-100).AddHours(-8), CreationDate = DateTime.Now.AddDays(-100).AddHours(-8).ToDateOnly(), Text = "The blue one with the angel", Target = mellon } .Execute(NoteWithDateOperation.Save); LabelEntity wea = new LabelEntity { Name = "WEA International", Country = usa, Owner = virgin.ToLite(), Node = virgin.Node.FirstChild() } .Execute(LabelOperation.Save); new AlbumEntity { Name = "Zeitgeist", Year = 2007, Author = smashingPumpkins, Songs = { new SongEmbedded { Name = "Tarantula" } }, BonusTrack = new SongEmbedded { Name = "1976" }, Label = wea, }.Execute(AlbumOperation.Save); new AlbumEntity { Name = "American Gothic", Year = 2008, Author = smashingPumpkins, Songs = { new SongEmbedded { Name = "The Rose March", Duration = TimeSpan.FromSeconds(276) } }, Label = wea, }.Execute(AlbumOperation.Save); var pa = new PersonalAwardEntity { Category = "Best Artist", Year = 1983, Result = AwardResult.Won }.Execute(AwardOperation.Save); ArtistEntity michael = new ArtistEntity { Name = "Michael Jackson", Dead = true, LastAward = pa, Status = Status.Single, Friends = { smashingPumpkins.Members.SingleEx(a => a.Name.Contains("Billy Corgan")).ToLite() } }.Execute(ArtistOperation.Save);; new NoteWithDateEntity { CreationTime = new DateTime(2009, 6, 25, 0, 0, 0), CreationDate = new DateOnly(2009, 6, 25), Text = "Death on June, 25th", Target = michael } .Execute(NoteWithDateOperation.Save); new NoteWithDateEntity { CreationTime = new DateTime(2000, 1, 1, 0, 0, 0), CreationDate = new DateOnly(2000, 1, 1), Text = null !, Target = michael }
public void MapEvent() { //Arrange var stageEntity = new StageEntity() { Id = Guid.NewGuid(), ImagePath = "ImagePath", Name = "Name", }; var stageModel = new StageListModel() { Id = stageEntity.Id, ImagePath = "ImagePath", Name = "Name", }; var bandEntity = new BandEntity { Id = Guid.NewGuid(), ImagePath = "ImagePath", Name = "Name", }; var bandModel = new BandListModel() { Id = bandEntity.Id, ImagePath = "ImagePath", Name = "Name", }; var id = Guid.NewGuid(); var entity = new EventEntity { Id = id, Start = new DateTime(2020, 11, 25, 12, 00, 00), End = new DateTime(2020, 11, 25, 14, 00, 00), BandId = bandEntity.Id, Band = bandEntity, StageId = stageEntity.Id, Stage = stageEntity }; var model = new EventDetailModel { Id = id, Start = new DateTime(2020, 11, 25, 12, 00, 00), End = new DateTime(2020, 11, 25, 14, 00, 00), BandId = bandModel.Id, Band = bandModel, StageId = stageModel.Id, Stage = stageModel }; //Act var entityAdapted = model.Adapt <EventEntity>(); var modelAdapted = entity.Adapt <EventDetailModel>(); //Assert Assert.Equal(entity, entityAdapted, EventEntity.EventEntityComparer); Assert.Equal(model, modelAdapted, EventDetailModel.EventDetailModelComparer); }