Ejemplo n.º 1
0
        public async Task <BandMember> AddMember(BandMember member)
        {
            var band = await dbContext
                       .Set <Entities.Band>()
                       .FindAsync(member.Band.Id);

            var bandit = await dbContext
                         .Set <Entities.Bandit>()
                         .FindAsync(member.Bandit.Id);

            var dbMember = new Entities.BandMember
            {
                Band    = band,
                Bandit  = bandit,
                Scoring = new Entities.Score()
            };

            await dbContext
            .Set <Entities.BandMember>()
            .AddAsync(dbMember);

            await dbContext.SaveChangesAsync();

            return(member);
        }
Ejemplo n.º 2
0
        public async Task <Band> Add(Band band)
        {
            var dbBandit = await dbContext
                           .Set <Entities.Bandit>()
                           .FindAsync(band.Boss.Bandit.Id);

            var dbBand = new Entities.Band
            {
                Name = band.Name
            };

            var dbBandMember = new Entities.BandMember
            {
                Band    = dbBand,
                Bandit  = dbBandit,
                Scoring = new Entities.Score()
            };

            using (var ts = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                await dbContext
                .Set <Entities.Band>()
                .AddAsync(dbBand);

                await dbContext.SaveChangesAsync();

                dbBand.Boss = dbBandMember;

                await dbContext
                .Set <Entities.BandMember>()
                .AddAsync(dbBandMember);

                await dbContext.SaveChangesAsync();

                ts.Complete();
            }

            var boss = band.Boss.Bandit;

            return(Band.Create(dbBand.Id, band.Name, boss, new [] { boss }));
        }