public virtual IHttpActionResult PostContact(Guid userId, [FromBody] Contact contact) { Logger.LogPost("PostContact", Request, new [] { userId.ToString() }); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var customerContact = CustomerContact.CreateInstance(); CustomerMappings.CreateContact(customerContact, userId, contact); contact = customerContact.ConvertToContact(); } catch (Exception exception) { Logger.Error(exception.Message, exception); return(InternalServerError(exception)); } return(Ok(contact)); }
public virtual IHttpActionResult PostCart([FromBody] OrderGroup orderGroup) { Logger.LogPost("PostCart", Request); try { if (string.IsNullOrEmpty(orderGroup.Name)) { throw new ArgumentNullException(nameof(orderGroup.Name)); } if (orderGroup.CustomerId == Guid.Empty) { throw new ArgumentNullException(nameof(orderGroup.CustomerId)); } var cart = _orderRepository.Create <Cart>(orderGroup.CustomerId, orderGroup.Name); cart = orderGroup.ConvertToCart(cart); _promotionEngine.Run(cart); cart.AcceptChanges(); return(Ok(cart)); } catch (Exception exception) { Logger.Error(exception.Message, exception); return(InternalServerError(exception)); } }
public virtual IHttpActionResult PostOrder([FromBody] Models.OrderGroup orderGroup) { Logger.LogPost("PostOrder", Request); try { var purchaseOrder = _orderRepository.Create <PurchaseOrder>(orderGroup.CustomerId, orderGroup.Name); purchaseOrder = orderGroup.ConvertToPurchaseOrder(purchaseOrder); _orderRepository.Save(purchaseOrder); return(Ok(purchaseOrder.ConvertToPurchaseOrder())); } catch (Exception exception) { Logger.Error(exception.Message, exception); return(InternalServerError(exception)); } }