//displays order details private static void DisplayPurchOrder(FredODataService.PurchTable purch) { Console.WriteLine(" {0} {1} {2}", purch.OrderAccount, purch.PurchId, purch.PurchStatus); }
//displays customer detail private static void DisplayCustomer(FredODataService.CustTable cust) { Console.WriteLine(" {0} {1} {2}", cust.AccountNum, cust.RecId, cust.Party); }
//displays vendr details private static void DisplayVendor(FredODataService.VendTable vend) { Console.WriteLine(" {0} {1} {2}", vend.AccountNum, vend.RecId, vend.Party); }
/// <summary> /// /// </summary> /// <param name="container">The Odata connection container</param> private static void GetCustomerPurchases(FredODataService.Container container) { //can use expand expression to get sub-entities within a parent entity foreach (var cust in container.VendTables.Expand(p => p.PurchItems)) { DisplayVendor(cust); foreach (var purch in cust.PurchItems) { DisplayPurchOrder(purch); } } }
/// <summary> /// /// </summary> /// <param name="container">The Odata connection container</param> /// <param name="purchId"></param> private static void GetPurchById(FredODataService.Container container, string purchId) { //can add query options like $filter, $top, $skip, $sort etc like this DisplayPurchOrder(container.PurchTables.AddQueryOption("$filter","PurchId eq '"+purchId+"'").SingleOrDefault()); }
/// <summary> /// /// </summary> /// <param name="container">The Odata connection container</param> private static void GetCustomerById(FredODataService.Container container) { Console.WriteLine(" Please enter the customer recId to search (ex:5637146827):"); long id = Convert.ToInt64(Console.ReadLine()); //can apply most of the LINQ expressions on the OData entities DisplayCustomer(container.CustTables.Where(p => p.RecId == id).SingleOrDefault()); }
/// <summary> /// Gets the counts of customers via fred odata /// </summary> /// <param name="container">The Odata connection container</param> private static void CountAllCustomers(FredODataService.Container container) { //can add additional query parameters on the entities before executing it int count = container.CustTables.IncludeTotalCount().Execute().Count(); Console.WriteLine(" Count of customers:" + count); }
/// <summary> /// Gets the list of customers via Fred OData and displays them /// </summary> /// <param name="container">The Odata connection container</param> private static void ListAllCustomers(FredODataService.Container container) { //access the enumerable objects under any entity directly foreach (var cust in container.CustTables) { DisplayCustomer(cust); } }