// THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD. // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. // // Copyright 2000-2004 © Softaris Pty.Ltd. All Rights Reserved. using System; namespace HatBuyer.Tests { using HatMaker.Crm.CoreDomainSupport; using HatMaker.Crm.MainDomainSupport; using HatMaker.Crm.MiscellaneousServices; class HatMakerTest { private UserDetails[] mLastUserDetails = null; private HatMaker.Crm.MainDomainSupport.ClientDetails[] mLastClientDetails = null; private HatMaker.Crm.MainDomainSupport.ProductDetails[] mLastProductDetails = null; public static void Main(string[] args) { Console.WriteLine(); Console.WriteLine("Sample .NET/C# Client for the HatMaker Web Services"); Console.WriteLine(); Console.WriteLine(); HatMakerTest lTest = new HatMakerTest(); lTest.testGetAllUsers(); lTest.testGetAllClients(); lTest.testGetAllProducts(); lTest.testGetClientsWhoOrderedProductsOrServices(); } public void testGetAllUsers() { Console.WriteLine("Running GetAllUsers()."); GetAllUsersInput lInput = new GetAllUsersInput(); HatMaker.Crm.CoreDomainSupport.DataManagementWebService lDataManagementWebService = new HatMaker.Crm.CoreDomainSupport.DataManagementWebService(); GetAllUsersResult lResult = lDataManagementWebService.GetAllUsers(lInput); mLastUserDetails = lResult.Users; if (mLastUserDetails != null) { Console.WriteLine("Got " + mLastUserDetails.Length + " users"); for (int i = 0; i < mLastUserDetails.Length;i++) { UserDetails lUserDetail = mLastUserDetails[i]; Console.WriteLine("User #" + (i+1) + ". Id: " + lUserDetail.InstanceId + " Name: " + lUserDetail.Name); } } else Console.WriteLine("No users were found"); } public void testGetAllClients() { Console.WriteLine("Running GetAllClients()."); GetAllClientsInput lInput = new GetAllClientsInput(); HatMaker.Crm.MainDomainSupport.DataManagementWebService lDataManagementWebService = new HatMaker.Crm.MainDomainSupport.DataManagementWebService(); GetAllClientsResult lResult = lDataManagementWebService.GetAllClients(lInput); mLastClientDetails = lResult.Clients; if (mLastClientDetails != null) { Console.WriteLine("Got " + mLastClientDetails.Length + " clients"); for (int i = 0; i < mLastClientDetails.Length;i++) { HatMaker.Crm.MainDomainSupport.ClientDetails lClientDetail = mLastClientDetails[i]; Console.WriteLine("Client #" + (i+1) + ". Id: " + lClientDetail.InstanceId + " Name: " + lClientDetail.CompanyName); } } else Console.WriteLine("No clients were found"); } public void testGetAllProducts() { Console.WriteLine("Running GetAllProducts()."); GetAllProductsInput lInput = new GetAllProductsInput(); HatMaker.Crm.MainDomainSupport.DataManagementWebService lDataManagementWebService = new HatMaker.Crm.MainDomainSupport.DataManagementWebService(); GetAllProductsResult lResult = lDataManagementWebService.GetAllProducts(lInput); mLastProductDetails = lResult.Products; if (mLastProductDetails != null) { Console.WriteLine("Got " + mLastProductDetails.Length + " products"); for (int i = 0; i < mLastProductDetails.Length;i++) { HatMaker.Crm.MainDomainSupport.ProductDetails lProductDetail = mLastProductDetails[i]; Console.WriteLine("Product #" + (i+1) + ". Id: " + lProductDetail.InstanceId + " Name: " + lProductDetail.Name); } } else Console.WriteLine("No products were found"); } public void testGetClientsWhoOrderedProductsOrServices() { if (mLastProductDetails == null) { Console.WriteLine("The GetClientsWhoOrderedProductsOrServices() test requires GetAllProducts() test."); testGetAllProducts(); if (mLastProductDetails == null) return; } Console.WriteLine("Running GetClientsWhoOrderedProductsOrServices()."); for (int i = 0; i < mLastProductDetails.Length;i++) { HatMaker.Crm.MainDomainSupport.ProductDetails lProductDetail = mLastProductDetails[i]; HatMaker.Crm.MiscellaneousServices.ProductKey lProductKey = new HatMaker.Crm.MiscellaneousServices.ProductKey(); lProductKey.InstanceId = lProductDetail.InstanceId; GetClientsWhoOrderedProductsOrServicesInput lInput = new GetClientsWhoOrderedProductsOrServicesInput(); lInput.Products = new HatMaker.Crm.MiscellaneousServices.ProductKey[] { lProductKey }; HatMaker.Crm.MiscellaneousServices.MarketingQueriesWebService lMarketingQueriesWebService = new HatMaker.Crm.MiscellaneousServices.MarketingQueriesWebService(); GetClientsWhoOrderedProductsOrServicesResult lResult = lMarketingQueriesWebService.GetClientsWhoOrderedProductsOrServices(lInput); HatMaker.Crm.MiscellaneousServices.ClientDetails[] lInterestedClientDetails = lResult.Clients; if (lInterestedClientDetails != null) { Console.WriteLine("Product " + lProductDetail.Name + " have been ordered by " + lInterestedClientDetails.Length + " clients:"); for (int j = 0; j < lInterestedClientDetails.Length;j++) { HatMaker.Crm.MiscellaneousServices.ClientDetails lClientDetail = lInterestedClientDetails[j]; Console.WriteLine(" Client #" + (j+1) + ". Id: " + lClientDetail.InstanceId + " Name: " + lClientDetail.CompanyName); } } else Console.WriteLine("No matching client records found."); } } } }