public virtual async Task <IHttpActionResult> UpdateRecurringOrderTemplateLineItemQuantity(UpdateRecurringOrderLineItemQuantityRequest request) { if (request == null) { return(BadRequest("Missing Request Body")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var param = new UpdateRecurringOrderTemplateLineItemQuantityParam { RecurringLineItemId = request.RecurringLineItemId, Quantity = request.Quantity, ScopeId = ComposerContext.Scope, CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, BaseUrl = RequestUtils.GetBaseUrl(Request).ToString() }; var results = await RecurringOrderTemplatesViewService.UpdateRecurringOrderTemplateLineItemQuantityAsync(param).ConfigureAwait(false); return(Ok(results)); }
public virtual async Task <ListOfRecurringOrderLineItems> UpdateRecurringOrderTemplateLineItemQuantityAsync(UpdateRecurringOrderTemplateLineItemQuantityParam param) { var lineitems = await GetRecurringOrderTemplates(param.ScopeId, param.CustomerId).ConfigureAwait(false); var lineitem = GetRecurringOrderLineItemFromTemplates(lineitems, param.RecurringLineItemId); if (lineitem != null) { lineitem.Quantity = param.Quantity; var request = new AddOrUpdateRecurringOrderLineItemsRequest() { CustomerId = param.CustomerId, ScopeId = param.ScopeId, LineItems = lineitems.RecurringOrderLineItems, MustApplyUpdatesToRecurringCart = false }; return(await OvertureClient.SendAsync(request)); } return(new ListOfRecurringOrderLineItems()); }
public virtual async Task <RecurringOrderTemplatesViewModel> UpdateRecurringOrderTemplateLineItemQuantityAsync(UpdateRecurringOrderTemplateLineItemQuantityParam param) { if (!RecurringOrdersSettings.Enabled) { return(new RecurringOrderTemplatesViewModel()); } if (param == null) { throw new ArgumentNullException(nameof(param), ArgumentNullMessageFormatter.FormatErrorMessage(nameof(param))); } //TODO: To be determined if we update the carts var listOfRecurringOrderLineItems = await RecurringOrderRepository.UpdateRecurringOrderTemplateLineItemQuantityAsync(param).ConfigureAwait(false); return(await CreateTemplatesViewModelAsync(new CreateRecurringOrderTemplatesViewModelParam { ListOfRecurringOrderLineItems = listOfRecurringOrderLineItems, CultureInfo = param.CultureInfo, BaseUrl = param.BaseUrl, ScopeId = param.ScopeId, CustomerId = param.CustomerId })); }