//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); }
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; } }
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); }