Ejemplo n.º 1
0
 //7. GET /products/{id}/options - finds all options for a specified product.
 public HttpResponseMessage GetOptions(Guid id)
 {
     if (productOptions != null)
     {
         ProductOptionList items = new ProductOptionList(productOptions.GetOptions(id));
         return(Request.CreateResponse(HttpStatusCode.OK, items));
     }
     else
     {
         return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No product options are found."));
     }
 }
        public IProductOptionList GetAll(Guid productId)
        {
            var result = new ProductOptionList();

            var ids = _repo.All(productId);

            foreach (var i in ids)
            {
                result.Add(_repo.Get(i));
            }
            return(result);
        }
Ejemplo n.º 3
0
        public async Task <List <ExOzProductOption> > Synchronize(ProductOptionList productOptionDetails)
        {
            _logger.StartMsg("Options");

            //Insert Options Here
            try
            {
                SaveExOzProductOptionCommandResult retOptions = await _commandSender.Send <SaveExOzProductOptionCommand, SaveExOzProductOptionCommandResult>(new SaveExOzProductOptionCommand
                {
                    OptionList = productOptionDetails.ProductOptions,
                    ModifiedBy = new Guid("C043DDEE-D0B1-48D8-9C3F-309A77F44793")
                });

                _logger.FinishMsg(retOptions.OptionList.Count, "Options");
                return(retOptions.OptionList);
            }
            catch (Exception e)
            {
                _logger.Log($"Exception: {e.Message}");
                throw;
            }
        }
Ejemplo n.º 4
0
        public async Task <SessionList> Synchronize(ProductList productList)
        {
            string line = "";


            int i = 0;

            foreach (var prod in productList.Products)
            {
                ProductList productDetails = new ProductList()
                {
                    Products = new List <ExOzProductResponse>()
                };

                string input = prod.CanonicalRegionUrlSegment + "/" + prod.OperatorUrlSegment + "/" + prod.UrlSegment;
                ExOzProductResponse objProduct = new ExOzProductResponse();

                string postResponse = HttpWebRequestHelper.ExOz_WebRequestGet(input);
                if (postResponse != "0")
                {
                    objProduct = Mapper <ExOzProductResponse> .MapFromJson(postResponse);
                }

                objProduct.Name               = CommonFunctions.replaceSingleQuotes(objProduct.Name);
                objProduct.Summary            = CommonFunctions.replaceSingleQuotes(objProduct.Summary);
                objProduct.OperatorPublicName = CommonFunctions.replaceSingleQuotes(objProduct.OperatorPublicName);
                objProduct.Title              = CommonFunctions.replaceSingleQuotes(objProduct.Title);
                objProduct.Description        = CommonFunctions.replaceSingleQuotes(objProduct.Description);
                objProduct.MoreInfo           = CommonFunctions.replaceSingleQuotes(objProduct.MoreInfo);
                objProduct.Tips               = CommonFunctions.replaceSingleQuotes(objProduct.Tips);

                productDetails.Products.Add(objProduct);
                SaveExOzProductCommandResult retProducts = new SaveExOzProductCommandResult()
                {
                    ProductList = new List <Contracts.DataModels.ExOzProduct>()
                };

                retProducts = await _commandSender.Send <SaveExOzProductCommand, SaveExOzProductCommandResult>(new SaveExOzProductCommand
                {
                    ProductList = productDetails.Products,
                    ModifiedBy  = new Guid("C043DDEE-D0B1-48D8-9C3F-309A77F44793")
                });

                if (objProduct.ProductSessions != null)
                {
                    SessionList sessionList = new SessionList()
                    {
                        ProductSessions = new List <ExOzSessionResponse>()
                    };

                    foreach (var sess in objProduct.ProductSessions)
                    {
                        sess.ProductId = objProduct.Id;
                        sessionList.ProductSessions.Add(sess);
                    }

                    _logger.StartMsg("Sessions");
                    ProductOptionList productOptionResponse = await _productSessionSynchronizer.Synchronize(sessionList);
                }

                i++;
                line = _logger.Update(i, productList.Products.Count, line);
            }

            //Insert Products Here
            //try
            //{

            //    _logger.FinishMsg(retProducts.ProductList.Count, "Products");
            //    return sessionList;
            //}
            //catch (Exception e)
            //{
            //    _logger.Log($"Exception: {e.Message}");
            //    throw;
            //}
            return(null);
        }