public string Create(BestBetEntity entity)
        {
            var bestBetsController = _bestBetControllerFactory.CreateController();

            var bestBetModel = new BestBetModel
            {
                Id                       = entity.Id,
                Phrases                  = entity.Phrase,
                BestBetTargetTitle       = entity.BestBetTargetTitle,
                BestBetTargetDescription = entity.BestBetTargetDescription,
                Tags                     = entity.Tags,
                TargetType               = entity.TargetType,
                TargetKey                = entity.TargetKey,
                BestBetHasOwnStyle       = entity.BestBetHasOwnStyle
            };

            if (IsContentBestBet(entity))
            {
                ConvertTarget(entity, bestBetModel);
            }

            var responseMessage      = bestBetsController.Post(bestBetModel);
            var responseContentAsync = responseMessage.Content.ReadAsStringAsync();
            var response             = responseContentAsync.Result;

            return(GetIdFromResponse(response));
        }
        private BestBetEntity ConvertToBestBetEntity(BestBetModel bestBetModel)
        {
            var bestBetEntity = new BestBetEntity
            {
                Id                       = bestBetModel.Id,
                Phrase                   = bestBetModel.Phrases,
                BestBetHasOwnStyle       = bestBetModel.BestBetHasOwnStyle,
                BestBetTargetDescription = bestBetModel.BestBetTargetDescription,
                BestBetTargetTitle       = bestBetModel.BestBetTargetTitle,
                Tags                     = bestBetModel.Tags.ToList(),
                TargetType               = bestBetModel.TargetType,
                TargetKey                = bestBetModel.TargetKey
            };

            if (IsContentBestBet(bestBetEntity))
            {
                var targetContentReference = ContentReference.Parse(bestBetEntity.TargetKey);
                var targetContent          = _contentRepository.Get <IContent>(targetContentReference);
                if (targetContent != null)
                {
                    bestBetEntity.TargetName = targetContent.Name;
                }
            }
            return(bestBetEntity);
        }
        protected virtual void ConvertTarget(BestBetEntity bestBetEntity, BestBetModel bestBetModel)
        {
            var contentReference = _searchService.FindMatchingContent(bestBetEntity);

            bestBetModel.TargetKey = contentReference?.ToString();
            if (bestBetModel.TargetKey == null)
            {
                throw new ServiceException("Can't find Content with name: " + bestBetEntity.TargetName);
            }
        }
 public HttpResponseMessage Post(BestBetModel model)
 {
     return _wrappedObject.Post(model);
 }
Beispiel #5
0
 public HttpResponseMessage Post(BestBetModel model)
 {
     return(_wrappedObject.Post(model));
 }