public virtual async Task <IHttpActionResult> UpdateLineItem(UpdateRecurringCartLineItemRequest request) { if (request == null) { return(BadRequest("Missing Request Body")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var vm = await RecurringOrderCartsService.UpdateLineItemAsync(new UpdateLineItemParam { ScopeId = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, CustomerId = ComposerContext.CustomerId, LineItemId = new Guid(request.LineItemId), CartName = request.CartName, Quantity = request.Quantity.GetValueOrDefault(), BaseUrl = RequestUtils.GetBaseUrl(Request).ToString(), RecurringOrderFrequencyName = request.RecurringOrderFrequencyName, RecurringOrderProgramName = request.RecurringOrderProgramName }).ConfigureAwait(false);; return(Ok(vm)); }
public virtual async Task <IHttpActionResult> UpdateRecurringOrderCartAddress([FromBody] UpdateRecurringOrderCartAddressRequest request) { if (request == null) { return(BadRequest("Missing Request Body")); } if (request.ShippingAddressId == null) { return(BadRequest("Missing Request Body")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var param = new UpdateRecurringOrderCartShippingAddressParam() { CultureInfo = ComposerContext.CultureInfo, ScopeId = ComposerContext.Scope, CartName = request.cartName, CustomerId = ComposerContext.CustomerId, ShippingAddressId = request.ShippingAddressId.ToGuid(), BaseUrl = RequestUtils.GetBaseUrl(Request).ToString(), UseSameForShippingAndBilling = request.UseSameForShippingAndBilling }; if (!string.IsNullOrEmpty(request.BillingAddressId)) { param.BillingAddressId = request.BillingAddressId.ToGuid(); } var results = await RecurringOrderCartsService.UpdateRecurringOrderCartShippingAddressAsync(param).ConfigureAwait(false); return(Ok(results)); }
public virtual async Task <IHttpActionResult> GetPastOrders() { var viewModel = await RecurringOrderCartsService.GetLightRecurringOrderCartListViewModelAsync(new GetLightRecurringOrderCartListViewModelParam { CultureInfo = ComposerContext.CultureInfo, CustomerId = ComposerContext.CustomerId, Scope = ComposerContext.Scope, BaseUrl = RequestUtils.GetBaseUrl(Request).ToString() }).ConfigureAwait(false); return(Ok(viewModel)); }
public async Task <IHttpActionResult> GetRecurringCart([FromBody] GetRecurringCartRequest request) { if (request == null) { return(BadRequest("Missing Request Body")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var vm = await RecurringOrderCartsService.GetRecurringOrderCartViewModelAsync(new GetRecurringOrderCartViewModelParam { CartName = request.Name, CustomerId = ComposerContext.CustomerId, Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, BaseUrl = RequestUtils.GetBaseUrl(Request).ToString() }).ConfigureAwait(false); return(Ok(vm)); }
public virtual async Task <IHttpActionResult> RemoveLineItem(RemoveRecurringCartLineItemRequest request) { if (request == null) { return(BadRequest("Missing Request Body")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var vm = await RecurringOrderCartsService.RemoveLineItemAsync(new RemoveRecurringCartLineItemParam { Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, CustomerId = ComposerContext.CustomerId, LineItemId = new Guid(request.LineItemId), CartName = request.CartName, BaseUrl = RequestUtils.GetBaseUrl(Request).ToString() }).ConfigureAwait(false); return(Ok(vm)); }
public virtual async Task <IHttpActionResult> GetRecurringOrderCartsByUser() { //This call manages products/variants that have been deleted in templates. //When cleaning those templates, it should clean the carts too. //In most cases, generating the templates is not a big load, if it's a problem, create a new call in //RecurringOrderTemplateViewModelFactory to only check templates are fine and clean up if not. await RecurringOrderTemplatesService.GetRecurringOrderTemplatesViewModelAsync(new GetRecurringOrderTemplatesParam { Scope = ComposerContext.Scope, CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, BaseUrl = RequestUtils.GetBaseUrl(Request).ToString() }).ConfigureAwait(false); var results = await RecurringOrderCartsService.GetRecurringOrderCartListViewModelAsync(new GetRecurringOrderCartsViewModelParam { Scope = ComposerContext.Scope, CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, BaseUrl = RequestUtils.GetBaseUrl(Request).ToString() }).ConfigureAwait(false); return(Ok(results)); }