예제 #1
0
        public HttpResponseMessage CreatePurchaseOrder(PurchaseOrder order)
        {
            var obj = logic.CreatePurchaseOrder(order);

            if (obj != null)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, obj));
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, logic.ErrorMessage));
            }
        }
예제 #2
0
        public PurchaseOrder OfflinePayment(string userId)
        {
            CartLogic          cartLogic  = new CartLogic();
            PurchaseOrderLogic orderLogic = new PurchaseOrderLogic();
            PurchaseOrder      order      = new PurchaseOrder();

            try
            {
                var items = cartLogic.GetCartItems(userId);
                if (items.Count == 0)
                {
                    return(null);
                }

                order.UserId          = userId;
                order.CreatedDate     = DateTime.Now.Date;
                order.PurchaseOrderNo = orderLogic.CreatePONumber();
                List <PurchaseOrderItem> poItemList = new List <PurchaseOrderItem>();
                var total = 0.0;
                foreach (var item in items)
                {
                    PurchaseOrderItem poItem = new PurchaseOrderItem()
                    {
                        Quantity       = item.Quantity,
                        SubscriptionId = item.SubscriptionTypeId
                    };
                    poItemList.Add(poItem);
                    total += item.Price;
                }
                order.Total = total;
                var obj = orderLogic.CreatePurchaseOrder(order);
                if (obj != null && poItemList.Count > 0)
                {
                    POItemLogic itemLogic = new POItemLogic();
                    itemLogic.CreateItem(poItemList, obj.Id);

                    foreach (var item in items)
                    {
                        item.IsPurchased = true;
                        cartLogic.UpdateCartItem(item);
                    }
                }
                return(obj);
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
            }
            return(null);
        }