public void Delete(int id)
        {
            var item = Get(DbIdentifier.DecodeId(id));

            item.IsDeleted = true;
            _gameStoreRepository.CreateOrUpdate(item);
        }
        public IEnumerable <TGameStoreEntity> Get()
        {
            var gameStoreEntities = _gameStoreRepository.Get().ToList();

            gameStoreEntities.ForEach(_ => _.Id = DbIdentifier.EncodeId(_.Id, DbType.GameStore));

            var northwindEntities = Mapper.Map <List <TGameStoreEntity> >(_northwindRepository.Get()).ToList();

            //northwindEntities.ForEach(_ => _.Id = DbIdentifier.EncodeId(_.Id, DbType.Northwind));

            northwindEntities.ForEach(
                x =>
            {
                if (!gameStoreEntities.Select(z => z.Id).Contains(x.Id))
                {
                    gameStoreEntities.Add(x);
                }
            });

            return(gameStoreEntities.Where(_ => _.IsDeleted == false).ToList());
        }
示例#3
0
        protected override void Configure()
        {
            // input DTO mapping
            Mapper.CreateMap <CreateUpdateGameInput, Game>();

            Mapper.CreateMap <GetDeleteGameInput, Game>();

            Mapper.CreateMap <CreateUpdateCommentInput, Comment>();

            Mapper.CreateMap <GetDeleteCommentInput, Comment>();

            Mapper.CreateMap <CreateUpdateGenreInput, Genre>();

            Mapper.CreateMap <GetDeleteGenreInput, Genre>();

            Mapper.CreateMap <CreateUpdatePlatformTypeInput, PlatformType>();

            Mapper.CreateMap <GetDeletePlatformTypeInput, PlatformType>();

            Mapper.CreateMap <CreateUpdatePublisherInput, Publisher>();

            Mapper.CreateMap <GetDeletePublisherInput, Publisher>();

            Mapper.CreateMap <Product, Game>()
            .ForMember(g => g.Id, m => m.MapFrom(p => DbIdentifier.EncodeId(p.ProductID, DbType.Northwind)))
            .ForMember(g => g.DbId, m => m.UseValue((int)DbType.Northwind))
            .ForMember(g => g.Key, m => m.ResolveUsing(GetProductKey))
            .ForMember(g => g.Name, m => m.MapFrom(p => p.ProductName))
            .ForMember(g => g.Price, m => m.MapFrom(p => p.UnitPrice))
            .ForMember(g => g.UnitsInStock, m => m.MapFrom(p => p.UnitsInStock))
            .ForMember(
                g => g.PublisherId,
                m => m.MapFrom(p => DbIdentifier.EncodeId(p.SupplierID.Value, DbType.Northwind)))
            .ForMember(
                g => g.Genres,
                m =>
                m.MapFrom(
                    p =>
                    new List <Genre>
            {
                new Genre
                {
                    Id   = DbIdentifier.EncodeId(p.CategoryID.Value, DbType.Northwind),
                    DbId = (int)DbType.Northwind,
                    Name = p.Category.CategoryName
                }
            }))
            .ForMember(g => g.PlatformTypes, m => m.MapFrom(p => new List <PlatformType>()))
            .ForMember(g => g.Comments, m => m.MapFrom(p => new List <Comment>()))
            .ForMember(g => g.Publisher, m => m.MapFrom(p => Mapper.Map <Supplier, Publisher>(p.Supplier)))
            .ForMember(g => g.PublishDate, m => m.UseValue(DateTime.UtcNow))
            .ForMember(g => g.Description, m => m.UseValue("This game has no description"));

            Mapper.CreateMap <Supplier, Publisher>()
            .ForMember(s => s.CompanyName, m => m.MapFrom(s => s.CompanyName))
            .ForMember(s => s.HomePage, m => m.MapFrom(s => s.HomePage))
            .ForMember(s => s.Id, m => m.MapFrom(s => DbIdentifier.EncodeId(s.SupplierID, DbType.Northwind)))
            .ForMember(s => s.Description, m => m.MapFrom(s => $"Address: {s.Address}"))
            .ForMember(s => s.DbId, m => m.UseValue((int)DbType.Northwind));


            Mapper.CreateMap <Category, Genre>()
            .ForMember(c => c.Name, m => m.MapFrom(s => s.CategoryName))
            .ForMember(c => c.Id, m => m.MapFrom(s => DbIdentifier.EncodeId(s.CategoryID, DbType.Northwind)))
            .ForMember(c => c.DbId, m => m.UseValue((int)DbType.Northwind));

            // output DTO mapping
            Mapper.CreateMap <Comment, CommentOutput>();

            Mapper.CreateMap <Game, GameOutput>();

            Mapper.CreateMap <Genre, GenreOutput>();

            Mapper.CreateMap <PlatformType, PlatformTypeOutput>();

            Mapper.CreateMap <Publisher, PublisherOutput>();
        }
 public void Update(TGameStoreEntity item)
 {
     item.Id = DbIdentifier.DecodeId(item.Id);
     _gameStoreRepository.Update(item);
 }