Пример #1
0
        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));
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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));
            }
        }