Beispiel #1
0
 public void RegisterNew(IAggregateDataModel entity, IUnitOfWorkRepository unitofWorkRepository)
 {
     if (!addedEntities.ContainsKey(entity))
     {
         addedEntities.Add(entity, unitofWorkRepository);
     };
 }
        public void PersistCreationOf(IAggregateDataModel entity)
        {
            var bidHistoryDTO = (BidDTO)entity;

            using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["AuctionDB"].ConnectionString))
            {
                connection.Execute(@"                
                    INSERT INTO [dbo].[BidHistory]
                           ([AuctionId]
                           ,[BidderId]
                           ,[Bid]
                           ,[TimeOfBid]
                           ,[Id])
                     VALUES
                           (@AuctionId
                           ,@BidderId
                           ,@Bid
                           ,@TimeOfBid
                           ,@Id)"
                                   , new
                {
                    Id        = bidHistoryDTO.Id,
                    BidderId  = bidHistoryDTO.BidderId,
                    Bid       = bidHistoryDTO.Bid,
                    TimeOfBid = bidHistoryDTO.TimeOfBid,
                    AuctionId = bidHistoryDTO.AuctionId
                });
            }
        }
        public void PersistCreationOf(IAggregateDataModel entity)
        {
            var bidHistoryDTO = (BidDTO)entity;

            using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["AuctionDB"].ConnectionString))
            {
                connection.Execute(@"                
                    INSERT INTO [dbo].[BidHistory]
                           ([AuctionId]
                           ,[BidderId]
                           ,[Bid]
                           ,[TimeOfBid]
                           ,[Id])
                     VALUES
                           (@AuctionId
                           ,@BidderId
                           ,@Bid
                           ,@TimeOfBid
                           ,@Id)"
                    , new
                    {
                        Id = bidHistoryDTO.Id,
                        BidderId = bidHistoryDTO.BidderId,
                        Bid = bidHistoryDTO.Bid,
                        TimeOfBid = bidHistoryDTO.TimeOfBid,
                        AuctionId = bidHistoryDTO.AuctionId 
                    });            
            }
        }
Beispiel #4
0
 public void RegisterAmended(IAggregateDataModel entity, IUnitOfWorkRepository unitofWorkRepository)
 {
     if (!changedEntities.ContainsKey(entity))
     {
         changedEntities.Add(entity, unitofWorkRepository);
     }
 }
Beispiel #5
0
 public void RegisterAmended(IAggregateDataModel entity, IUnitOfWorkRepository unitofWorkRepository)
 {
     if (!changedEntities.ContainsKey(entity))
     {
         changedEntities.Add(entity, unitofWorkRepository);
     }
 }
Beispiel #6
0
 public void RegisterNew(IAggregateDataModel entity, IUnitOfWorkRepository unitofWorkRepository)
 {
     if (!addedEntities.ContainsKey(entity))
     {
         addedEntities.Add(entity, unitofWorkRepository);
     }
     ;
 }
Beispiel #7
0
        public void PersistUpdateOf(IAggregateDataModel entity)
        {
            var auctionDTO = (AuctionDTO)entity;

            using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["AuctionDB"].ConnectionString))
            {
                var recordsUpdated = connection.Execute(@"                
                    UPDATE 
                        [AuctionExample].[dbo].[Auctions]
                    SET 
                        [Id] = @Id
                       ,[StartingPrice] = @StartingPrice
                       ,[BidderMemberId] = @BidderMemberId
                       ,[TimeOfBid] = @TimeOfBid
                       ,[MaximumBid] = @MaximumBid
                       ,[CurrentPrice] = @CurrentPrice
                       ,[AuctionEnds] = @AuctionEnds
                       ,[Version] = @Version
                    WHERE
                        Id = @Id AND Version = @PreviousVersion"
                                                        , new
                {
                    Id              = auctionDTO.Id,
                    StartingPrice   = auctionDTO.StartingPrice,
                    BidderMemberId  = auctionDTO.BidderMemberId,
                    TimeOfBid       = auctionDTO.TimeOfBid,
                    MaximumBid      = auctionDTO.MaximumBid,
                    CurrentPrice    = auctionDTO.CurrentPrice,
                    AuctionEnds     = auctionDTO.AuctionEnds,
                    Version         = auctionDTO.Version + 1,
                    PreviousVersion = auctionDTO.Version
                });

                if (!recordsUpdated.Equals(1))
                {
                    throw new ConcurrencyException();
                }
            }
        }
Beispiel #8
0
        public void PersistCreationOf(IAggregateDataModel entity)
        {
            var auctionDTO = (AuctionDTO)entity;

            using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["AuctionDB"].ConnectionString))
            {
                var recordsAdded = connection.Execute(@"                
                    INSERT INTO [AuctionExample].[dbo].[Auctions]
                           ([Id]
                           ,[StartingPrice]
                           ,[BidderMemberId]
                           ,[TimeOfBid]
                           ,[MaximumBid]
                           ,[CurrentPrice]
                           ,[AuctionEnds]
                           ,[Version])
                     VALUES
                           (@Id, @StartingPrice, @BidderMemberId, @TimeOfBid, @MaximumBid, @CurrentPrice, @AuctionEnds, @Version)"
                    , new { Id = auctionDTO.Id, StartingPrice = auctionDTO.StartingPrice, BidderMemberId = auctionDTO.BidderMemberId, 
                            TimeOfBid = auctionDTO.TimeOfBid, MaximumBid = auctionDTO.MaximumBid, CurrentPrice = auctionDTO.CurrentPrice,
                            AuctionEnds = auctionDTO.AuctionEnds, Version = auctionDTO.Version });
            }
        }
Beispiel #9
0
        public void PersistCreationOf(IAggregateDataModel entity)
        {
            var auctionDTO = (AuctionDTO)entity;

            using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["AuctionDB"].ConnectionString))
            {
                var recordsAdded = connection.Execute(@"                
                    INSERT INTO [AuctionExample].[dbo].[Auctions]
                           ([Id]
                           ,[StartingPrice]
                           ,[BidderMemberId]
                           ,[TimeOfBid]
                           ,[MaximumBid]
                           ,[CurrentPrice]
                           ,[AuctionEnds]
                           ,[Version])
                     VALUES
                           (@Id, @StartingPrice, @BidderMemberId, @TimeOfBid, @MaximumBid, @CurrentPrice, @AuctionEnds, @Version)"
                                                      , new { Id          = auctionDTO.Id, StartingPrice = auctionDTO.StartingPrice, BidderMemberId = auctionDTO.BidderMemberId,
                                                              TimeOfBid   = auctionDTO.TimeOfBid, MaximumBid = auctionDTO.MaximumBid, CurrentPrice = auctionDTO.CurrentPrice,
                                                              AuctionEnds = auctionDTO.AuctionEnds, Version = auctionDTO.Version });
            }
        }
 public void PersistUpdateOf(IAggregateDataModel entity)
 {
     throw new NotImplementedException();
 }
Beispiel #11
0
 public void PersistUpdateOf(IAggregateDataModel entity)
 {
     throw new NotImplementedException();
 }
Beispiel #12
0
        public void PersistUpdateOf(IAggregateDataModel  entity)
        {
            var auctionDTO = (AuctionDTO)entity;

            using (var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["AuctionDB"].ConnectionString))
            {
                var recordsUpdated = connection.Execute(@"                
                    UPDATE 
                        [AuctionExample].[dbo].[Auctions]
                    SET 
                        [Id] = @Id
                       ,[StartingPrice] = @StartingPrice
                       ,[BidderMemberId] = @BidderMemberId
                       ,[TimeOfBid] = @TimeOfBid
                       ,[MaximumBid] = @MaximumBid
                       ,[CurrentPrice] = @CurrentPrice
                       ,[AuctionEnds] = @AuctionEnds
                       ,[Version] = @Version
                    WHERE
                        Id = @Id AND Version = @PreviousVersion"
                    , new
                    {
                        Id = auctionDTO.Id,
                        StartingPrice = auctionDTO.StartingPrice,
                        BidderMemberId = auctionDTO.BidderMemberId,
                        TimeOfBid = auctionDTO.TimeOfBid,
                        MaximumBid = auctionDTO.MaximumBid,
                        CurrentPrice = auctionDTO.CurrentPrice,
                        AuctionEnds = auctionDTO.AuctionEnds,
                        Version = auctionDTO.Version + 1,
                        PreviousVersion = auctionDTO.Version
                    });

                if (!recordsUpdated.Equals(1))
                {
                    throw new ConcurrencyException();
                }  
            }
        }