public void MapEntityToModelList()
        {
            var        mapper = new DALQuoteTweetMapper();
            QuoteTweet item   = new QuoteTweet();

            item.SetProperties(1, "A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1, TimeSpan.Parse("01:00:00"));
            List <ApiQuoteTweetServerResponseModel> response = mapper.MapEntityToModel(new List <QuoteTweet>()
            {
                { item }
            });

            response.Count.Should().Be(1);
        }
示例#2
0
        public virtual async Task <ApiQuoteTweetServerResponseModel> Get(int quoteTweetId)
        {
            QuoteTweet record = await this.QuoteTweetRepository.Get(quoteTweetId);

            if (record == null)
            {
                return(null);
            }
            else
            {
                return(this.DalQuoteTweetMapper.MapEntityToModel(record));
            }
        }
        public void MapModelToEntity()
        {
            var mapper = new DALQuoteTweetMapper();
            ApiQuoteTweetServerRequestModel model = new ApiQuoteTweetServerRequestModel();

            model.SetProperties("A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1, TimeSpan.Parse("01:00:00"));
            QuoteTweet response = mapper.MapModelToEntity(1, model);

            response.Content.Should().Be("A");
            response.Date.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.RetweeterUserId.Should().Be(1);
            response.SourceTweetId.Should().Be(1);
            response.Time.Should().Be(TimeSpan.Parse("01:00:00"));
        }
示例#4
0
        public virtual BOQuoteTweet MapEFToBO(
            QuoteTweet ef)
        {
            var bo = new BOQuoteTweet();

            bo.SetProperties(
                ef.QuoteTweetId,
                ef.Content,
                ef.Date,
                ef.RetweeterUserId,
                ef.SourceTweetId,
                ef.Time);
            return(bo);
        }
示例#5
0
        public virtual QuoteTweet MapBOToEF(
            BOQuoteTweet bo)
        {
            QuoteTweet efQuoteTweet = new QuoteTweet();

            efQuoteTweet.SetProperties(
                bo.Content,
                bo.Date,
                bo.QuoteTweetId,
                bo.RetweeterUserId,
                bo.SourceTweetId,
                bo.Time);
            return(efQuoteTweet);
        }
示例#6
0
        public void MapEFToBOList()
        {
            var        mapper = new DALQuoteTweetMapper();
            QuoteTweet entity = new QuoteTweet();

            entity.SetProperties("A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1, 1, TimeSpan.Parse("0"));

            List <BOQuoteTweet> response = mapper.MapEFToBO(new List <QuoteTweet>()
            {
                entity
            });

            response.Count.Should().Be(1);
        }
示例#7
0
        public virtual ApiQuoteTweetServerResponseModel MapEntityToModel(
            QuoteTweet item)
        {
            var model = new ApiQuoteTweetServerResponseModel();

            model.SetProperties(item.QuoteTweetId,
                                item.Content,
                                item.Date,
                                item.RetweeterUserId,
                                item.SourceTweetId,
                                item.Time);
            if (item.RetweeterUserIdNavigation != null)
            {
                var retweeterUserIdModel = new ApiUserServerResponseModel();
                retweeterUserIdModel.SetProperties(
                    item.RetweeterUserIdNavigation.UserId,
                    item.RetweeterUserIdNavigation.BioImgUrl,
                    item.RetweeterUserIdNavigation.Birthday,
                    item.RetweeterUserIdNavigation.ContentDescription,
                    item.RetweeterUserIdNavigation.Email,
                    item.RetweeterUserIdNavigation.FullName,
                    item.RetweeterUserIdNavigation.HeaderImgUrl,
                    item.RetweeterUserIdNavigation.Interest,
                    item.RetweeterUserIdNavigation.LocationLocationId,
                    item.RetweeterUserIdNavigation.Password,
                    item.RetweeterUserIdNavigation.PhoneNumber,
                    item.RetweeterUserIdNavigation.Privacy,
                    item.RetweeterUserIdNavigation.Username,
                    item.RetweeterUserIdNavigation.Website);

                model.SetRetweeterUserIdNavigation(retweeterUserIdModel);
            }

            if (item.SourceTweetIdNavigation != null)
            {
                var sourceTweetIdModel = new ApiTweetServerResponseModel();
                sourceTweetIdModel.SetProperties(
                    item.SourceTweetIdNavigation.TweetId,
                    item.SourceTweetIdNavigation.Content,
                    item.SourceTweetIdNavigation.Date,
                    item.SourceTweetIdNavigation.LocationId,
                    item.SourceTweetIdNavigation.Time,
                    item.SourceTweetIdNavigation.UserUserId);

                model.SetSourceTweetIdNavigation(sourceTweetIdModel);
            }

            return(model);
        }
        public void MapEntityToModel()
        {
            var        mapper = new DALQuoteTweetMapper();
            QuoteTweet item   = new QuoteTweet();

            item.SetProperties(1, "A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1, TimeSpan.Parse("01:00:00"));
            ApiQuoteTweetServerResponseModel response = mapper.MapEntityToModel(item);

            response.Content.Should().Be("A");
            response.Date.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.QuoteTweetId.Should().Be(1);
            response.RetweeterUserId.Should().Be(1);
            response.SourceTweetId.Should().Be(1);
            response.Time.Should().Be(TimeSpan.Parse("01:00:00"));
        }
示例#9
0
        public void MapEFToBO()
        {
            var        mapper = new DALQuoteTweetMapper();
            QuoteTweet entity = new QuoteTweet();

            entity.SetProperties("A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1, 1, TimeSpan.Parse("0"));

            BOQuoteTweet response = mapper.MapEFToBO(entity);

            response.Content.Should().Be("A");
            response.Date.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.QuoteTweetId.Should().Be(1);
            response.RetweeterUserId.Should().Be(1);
            response.SourceTweetId.Should().Be(1);
            response.Time.Should().Be(TimeSpan.Parse("0"));
        }
示例#10
0
        public void MapBOToEF()
        {
            var mapper = new DALQuoteTweetMapper();
            var bo     = new BOQuoteTweet();

            bo.SetProperties(1, "A", DateTime.Parse("1/1/1987 12:00:00 AM"), 1, 1, TimeSpan.Parse("0"));

            QuoteTweet response = mapper.MapBOToEF(bo);

            response.Content.Should().Be("A");
            response.Date.Should().Be(DateTime.Parse("1/1/1987 12:00:00 AM"));
            response.QuoteTweetId.Should().Be(1);
            response.RetweeterUserId.Should().Be(1);
            response.SourceTweetId.Should().Be(1);
            response.Time.Should().Be(TimeSpan.Parse("0"));
        }
示例#11
0
        public virtual QuoteTweet MapModelToEntity(
            int quoteTweetId,
            ApiQuoteTweetServerRequestModel model
            )
        {
            QuoteTweet item = new QuoteTweet();

            item.SetProperties(
                quoteTweetId,
                model.Content,
                model.Date,
                model.RetweeterUserId,
                model.SourceTweetId,
                model.Time);
            return(item);
        }
示例#12
0
        public virtual async Task <CreateResponse <ApiQuoteTweetServerResponseModel> > Create(
            ApiQuoteTweetServerRequestModel model)
        {
            CreateResponse <ApiQuoteTweetServerResponseModel> response = ValidationResponseFactory <ApiQuoteTweetServerResponseModel> .CreateResponse(await this.QuoteTweetModelValidator.ValidateCreateAsync(model));

            if (response.Success)
            {
                QuoteTweet record = this.DalQuoteTweetMapper.MapModelToEntity(default(int), model);
                record = await this.QuoteTweetRepository.Create(record);

                response.SetRecord(this.DalQuoteTweetMapper.MapEntityToModel(record));
                await this.mediator.Publish(new QuoteTweetCreatedNotification(response.Record));
            }

            return(response);
        }
示例#13
0
        public async void Get_ShouldReturnRecords()
        {
            var mock   = new ServiceMockFacade <IQuoteTweetService, IQuoteTweetRepository>();
            var record = new QuoteTweet();

            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(record));
            var service = new QuoteTweetService(mock.LoggerMock.Object,
                                                mock.MediatorMock.Object,
                                                mock.RepositoryMock.Object,
                                                mock.ModelValidatorMockFactory.QuoteTweetModelValidatorMock.Object,
                                                mock.DALMapperMockFactory.DALQuoteTweetMapperMock);

            ApiQuoteTweetServerResponseModel response = await service.Get(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>()));
        }
示例#14
0
        public virtual async Task <UpdateResponse <ApiQuoteTweetServerResponseModel> > Update(
            int quoteTweetId,
            ApiQuoteTweetServerRequestModel model)
        {
            var validationResult = await this.QuoteTweetModelValidator.ValidateUpdateAsync(quoteTweetId, model);

            if (validationResult.IsValid)
            {
                QuoteTweet record = this.DalQuoteTweetMapper.MapModelToEntity(quoteTweetId, model);
                await this.QuoteTweetRepository.Update(record);

                record = await this.QuoteTweetRepository.Get(quoteTweetId);

                ApiQuoteTweetServerResponseModel apiModel = this.DalQuoteTweetMapper.MapEntityToModel(record);
                await this.mediator.Publish(new QuoteTweetUpdatedNotification(apiModel));

                return(ValidationResponseFactory <ApiQuoteTweetServerResponseModel> .UpdateResponse(apiModel));
            }
            else
            {
                return(ValidationResponseFactory <ApiQuoteTweetServerResponseModel> .UpdateResponse(validationResult));
            }
        }