示例#1
0
        private void calcCost_Click(object sender, RoutedEventArgs e)
        {
            ProductsServiceClient proxy = new ProductsServiceClient();

            try
            {
                int     prodID = Int32.Parse(this.productID.Text);
                int     number = Int32.Parse(this.howMany.Text);
                decimal cost   = proxy.HowMuchWillItCost(prodID, number);
                this.totalCost.Content = String.Format("{0:C}", cost);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error obtaining cost: " +
                                ex.Message, "Error", MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }
            finally
            {
                if (proxy.State == System.ServiceModel.CommunicationState.Faulted)
                {
                    proxy.Abort();
                }
                else
                {
                    proxy.Close();
                }
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            // Create a proxy object and connect to the service
            ProductsServiceClient proxy = new ProductsServiceClient("NetTcpBinding_IProductsService");

            // Test the operations in the service

            // Obtain a list of all products
            Console.WriteLine("Test 1: List all products");
            string[] productNumbers = proxy.ListProducts();


            foreach (string productNumber in productNumbers)
            {
                Console.WriteLine("Number: {0}", productNumber);
            }

            Console.WriteLine();

            // Display details of a product
            Console.WriteLine("Test 2: Display the details of a product");
            ProductData product = proxy.GetProduct("WB-H098");
            Console.WriteLine("Number: {0}", product.ProductNumber);
            Console.WriteLine("Name: {0}", product.Name);
            Console.WriteLine("Color: {0}", product.Color);
            Console.WriteLine("Price: {0}", product.ListPrice);
            Console.WriteLine();

            // Query the stock level of this product
            Console.WriteLine("Test 3: Display6 the stock level of a product");
            int numInStock = proxy.CurrentStockLevel("WB-H098");
            Console.WriteLine("Current stock level: {0}", numInStock);
            Console.WriteLine();

            // Modify the stock level of this product
            Console.WriteLine("Test 4: Modify the stock level of a product");

            if (proxy.ChangeStockLevel("WB-H098", 100, "N/A", 0))
            {
                numInStock = proxy.CurrentStockLevel("WB-H098");
                Console.WriteLine("Stock changed. Current stock level: {0}", numInStock);
            }
            else
            {
                Console.WriteLine("Stock level update failed");
            }
            Console.WriteLine();

            // Disconnect from the service
            proxy.Close();
            Console.WriteLine("Press ENTER to finish");
            Console.ReadLine();
        }
示例#3
0
        private void getProduct_Click(object sender, RoutedEventArgs e)
        {
            ProductsServiceClient proxy = new ProductsServiceClient();

            try
            {
                int         prodID  = Int32.Parse(this.productID.Text);
                ProductInfo product = proxy.GetProductInfo(prodID);
                this.productName.Content     = product.ProductName;
                this.supplierID.Content      = product.SupplierID;
                this.categoryID.Content      = product.CategoryID;
                this.quantityPerUnit.Content = product.QuantityPerUnit;
                this.unitPrice.Content       = String.Format("{0:C}", product.UnitPrice);
                this.unitsInStock.Content    = product.UnitsInStock;
                this.unitsOnOrder.Content    = product.UnitsOnOrder;
                this.reorderLevel.Content    = product.ReorderLevel;
                this.discontinued.IsChecked  = product.Discontinued;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error fetching product details: " +
                                ex.Message, "Error", MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }
            finally
            {
                if (proxy.State == System.ServiceModel.CommunicationState.Faulted)
                {
                    proxy.Abort();
                }
                else
                {
                    proxy.Close();
                }
            }
        }
示例#4
0
        static void Main(string[] args)
        {
            Console.WriteLine("Press ENTER when the service has started");
            Console.ReadLine();


            // Create a proxy object and connect to the service
            ProductsServiceClient proxy = new ProductsServiceClient("WS2007HttpBinding_IProductsService");

            // Test the operations in the service
            // Obtain a list of all products
            Console.WriteLine("Test 1: List all products");
            List <ProductData> products = proxy.ListMatchingProducts("Prod").ToList();

            foreach (ProductData p in products)
            {
                Console.WriteLine("Name: {0}", p.Name);
                Console.WriteLine("Code: {0}", p.Code);
                Console.WriteLine("Price: {0}", p.Price);
                Console.WriteLine();
            }
            Console.WriteLine();

            // Get details of this product
            Console.WriteLine("Test 2: Display the details of a product");
            ProductData product = proxy.GetProduct("0001");

            if (product != null)
            {
                Console.WriteLine("Name: {0}", product.Name);
                Console.WriteLine("Code: {0}", product.Code);
                Console.WriteLine("Price: {0}", product.Price);
                Console.WriteLine();
            }
            else
            {
                Console.WriteLine("No such product.");
                Console.WriteLine();
            }


            // Query the stock of this product
            Console.WriteLine("Test 3: Display stock of a product");
            int quantity = proxy.CurrentStock("0001");

            Console.WriteLine("Current stock: {0}", quantity);
            Console.WriteLine();

            // Add stock of this product
            Console.WriteLine("Test 4: Add stock for a product");
            if (proxy.AddStock("0001", 100))
            {
                quantity = proxy.CurrentStock("0001");
                Console.WriteLine("Stock changed. Current stock: {0}", quantity);
            }
            else
            {
                Console.WriteLine("Stock update failed");
            }

            // Disconnect from the service
            proxy.Close();
            Console.WriteLine("Press ENTER to finish");
            Console.ReadLine();
        }
示例#5
0
 public void Dispose()
 {
     // Disconnect from the service
     proxy.Close();
 }
        static void Main(string[] args)
        {
            Console.WriteLine("Press ENTER when the service has started");
            Console.ReadLine();

            //Create a proxy object and connect to the service
            PermissiveCertificatePolicy.Enact("CN=rafapri");
            ProductsServiceClient proxy = new ProductsServiceClient("WS2007HttpBinding_IProductsService_Chapter5EndPoint");

            /*
            proxy.ClientCredentials.Windows.ClientCredential.Domain = "mss-rj-210";
            proxy.ClientCredentials.Windows.ClientCredential.UserName = "******";
            proxy.ClientCredentials.Windows.ClientCredential.Password = "******";
            */

            proxy.ClientCredentials.UserName.UserName = "******";//WindowsIdentity.GetCurrent().Name;//"mss\\rafael.paiva";
            proxy.ClientCredentials.UserName.Password = @"Pa$$w0rd";//"1709Raf@prielscill@";
            //ProductsServiceClient proxy = new ProductsServiceClient();

            // Test the operations in the service
            try
            {
                // Obtain a list of all products
                Console.WriteLine("Test 1: List all products");
                string[] productNumbers = proxy.ListProducts();
                foreach (string productNumber in productNumbers)
                {
                    Console.WriteLine("Number: {0}", productNumber);
                }
                Console.WriteLine();

                Console.WriteLine("Test 2: Display the details of a product");
                ProductData product = proxy.GetProduct("WB-H098");
                Console.WriteLine("Number: {0}", product.ProductNumber);
                Console.WriteLine("Name: {0}", product.Name);
                Console.WriteLine("Color: {0}", product.Color);
                Console.WriteLine("Price: {0}", product.ListPrice);
                Console.WriteLine();

                // Query the stock level of this product
                Console.WriteLine("Test 3: Display the stock level of a product");
                int numInStock = proxy.CurrentStockLevel("WB-H098");
                Console.WriteLine("Current stock level: {0}", numInStock);
                Console.WriteLine();

                // Modify the stock level of this product
                Console.WriteLine("Test 4: Modify the stock level of a product");
                if (proxy.ChangeStockLevel("WB-H098", 100, "N/A", 0))
                {
                    numInStock = proxy.CurrentStockLevel("WB-H098");
                    Console.WriteLine("Stock changed. Current stock level: {0}", numInStock);
                }
                else
                {
                    Console.WriteLine("Stock level update failed");
                }
                Console.WriteLine();
            }
            catch (FaultException<SystemFault> sf)
            {
                Console.WriteLine("SystemFault {0}: {1}\n{2}",
                sf.Detail.SystemOperation, sf.Detail.SystemMessage,
                sf.Detail.SystemReason);
            }
            catch (FaultException<DatabaseFault> dbf)
            {
                Console.WriteLine("DatabaseFault {0}: {1}\n{2}",
                dbf.Detail.DbOperation, dbf.Detail.DbMessage,
                dbf.Detail.DbReason);
            }
            catch (FaultException e)
            {
                Console.WriteLine("{0}: {1}", e.Code.Name, e.Reason);
            }
            catch (Exception ex)
            {
                Console.WriteLine("General exception: {0}", ex.Message);
            }

            proxy.Close();
            Console.WriteLine("Press ENTER to finish");

            Console.ReadKey();
        }