예제 #1
0
        public async Task <IActionResult> GetOrders(int ordern)
        {
            //futher we can go for enum
            PaymentStatus paystatusobj;

            if (ordern == 1)
            {
                BookModel bookorder = new BookModel();

                paystatusobj = _ibookserv.ProcessOrder(bookorder);
            }

            if (ordern == 2)
            {
                MembershipModel memeberorder = new MembershipModel();

                paystatusobj = _ibookserv.ProcessOrder(memeberorder);
            }

            else
            {
                paystatusobj = null;
            }
            return(new OkObjectResult(paystatusobj));
        }
예제 #2
0
        static void CallViaInterface()
        {
            IOrderProcessing client = null;

            try
            {
                Console.WriteLine("About to invoke OrderProcessing service");

                WSHttpBinding binding = new WSHttpBinding(
                    "WSHttpBinding_IOrderProcessing");
                EndpointAddress epAddr = new EndpointAddress(
                    "http://*****:*****@foo.com";
                request.TotalAmount          = 75.00M;
                request.Items = new List <Item>
                {
                    new Item {
                        ItemId = 1234, Quantity = 1
                    },
                    new Item {
                        ItemId = 2345, Quantity = 3
                    },
                };

                ProcessOrderResponse poResponse = client.ProcessOrder(
                    new ProcessOrderRequest(request));

                OrderProcessingResponse response =
                    poResponse.OrderProcessingResponse;

                Console.WriteLine("Response IsSuccessful: {0}",
                                  response.IsSuccessful);
                Console.WriteLine("Response OrderId: {0}",
                                  response.OrderId);
                Console.WriteLine("Response ShipDate: {0:D}",
                                  response.ShipDate);
                Console.WriteLine("Response CreditAuthCode: {0}",
                                  response.CreditAuthCode);
            }
            catch (Exception exception)
            {
                Console.WriteLine("Unhandled exception: {0}", exception.Message);
            }
            finally
            {
                ((IChannel)client).Close();
            }
        }
예제 #3
0
 public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails)
 {
     if (cart.Lines.Count() == 0)
     {
         ModelState.AddModelError("", "Sorry, your cart is empty!");
     }
     if (ModelState.IsValid)
     {
         orderProcessing.ProcessOrder(cart, shippingDetails);
         cart.Clear();
         return(View("Completed"));
     }
     else
     {
         return(View(shippingDetails));
     }
 }
예제 #4
0
        static void Main(string[] args)
        {
            string      baseAddress = "http://" + Environment.MachineName + ":8000/Service";
            ServiceHost host        = new ServiceHost(typeof(OrderProcessingService), new Uri(baseAddress));

            host.AddServiceEndpoint(typeof(IOrderProcessing), new BasicHttpBinding(), "");
            host.Open();
            Console.WriteLine("Host opened");

            ChannelFactory <IOrderProcessing> factory = new ChannelFactory <IOrderProcessing>(new BasicHttpBinding(), new EndpointAddress(baseAddress));
            IOrderProcessing proxy = factory.CreateChannel();
            Order            order = proxy.GetOrder(1);

            proxy.ProcessOrder(order);

            ((IClientChannel)proxy).Close();
            factory.Close();
            host.Close();
        }