public static CorrigoEntity[] RetrieveMultiple(CorrigoService service) { var models = service.RetrieveMultiple( new QueryByProperty { EntityType = EntityType.Model, PropertySet = new AllProperties(), Conditions = new PropertyValuePair[0] }); var list = service.RetrieveMultiple( new QueryByProperty { EntityType = EntityType.Task, PropertySet = new AllProperties(), Conditions = new PropertyValuePair[0], Orders = new[] { new OrderExpression { OrderType = OrderType.Ascending, PropertyName = "ModelId" }, new OrderExpression { OrderType = OrderType.Ascending, PropertyName = "Id" } }, }); Console.WriteLine("Tasks: Retrieve Multiple"); if (list == null || list.Length == 0) { return(list); } Console.WriteLine(string.Concat("#".PadLeft(6), "|", "Id".PadLeft(6), "|", "ModelId".PadLeft(6), "|", "Model Name".PadRight(30), "|", "DisplayAs".PadRight(50), "|", "Instructions".PadRight(25), "|", "GlAccount".PadRight(15), "|", "Number".PadRight(10))); int i = 0; foreach (Task item in list) { var model = models.Where(m => m.Id == item.ModelId).ToArray(); string modelName = (model.Length == 1) ? ((Model)model[0]).DisplayAs : ""; i++; Console.WriteLine(string.Concat(i.ToString().PadLeft(6), "|", item.Id.ToString().PadLeft(6), "|", item.ModelId.ToString().PadLeft(6), "|", modelName.PadRight(30), "|", item.DisplayAs.PadRight(50), "|", item.Instructions.PadLeft(25), "|", item.GlAccount.PadLeft(15), "|", item.Number.ToString().PadLeft(10))); } Console.WriteLine(); return(list); }
public static CorrigoEntity[] RetrieveMultiple(CorrigoService service) { var list = service.RetrieveMultiple( new QueryByProperty { EntityType = EntityType.WoPriority, PropertySet = new AllProperties(), Conditions = new PropertyValuePair[0] }); Console.WriteLine("WoPriorities: Retrieve Multiple"); if (list == null || list.Length == 0) { return(list); } Console.WriteLine(String.Concat("#".PadLeft(4), "|", "Id".PadLeft(4), "|", "Label".PadRight(60), "|", "Response mins.".PadRight(15), "|", "Complete mins.".PadRight(15), "|", "Escalated".PadRight(10))); int i = 0; foreach (WoPriority item in list) { i++; Console.WriteLine(String.Concat(i.ToString().PadLeft(4), "|", item.Id.ToString().PadLeft(4), "|", item.DisplayAs.PadRight(60), "|", item.RespondInMinutes.ToString().PadLeft(15), "|", item.DueInMinutes.ToString().PadLeft(15), "|", item.IsEmergency.ToString().PadLeft(10))); } Console.WriteLine(); return(list); }
/// <summary> /// Poll Use Case 2: Emergency Work Orders /// Operation: RetrieveMultiple(QueryByProperty) /// Retrieve a list of Work Orders whose Priority = "Emergency" /// </summary> /// <param name="corrigoService"></param> /// <returns></returns> public static WorkOrder[] RetrieveMultipleEmergencyWorkOrders(CorrigoService corrigoService) { var query = new QueryByProperty { EntityType = EntityType.WorkOrder, PropertySet = _propertySet, Conditions = new[] { new PropertyValuePair { PropertyName = "Priority.IsEmergency", Value = true }, }, Orders = new[] { new OrderExpression { PropertyName = "Id", OrderType = OrderType.Ascending } }, }; WorkOrder[] results = corrigoService.RetrieveMultiple(query) .Cast <WorkOrder>() .ToArray(); Console.WriteLine($"# of Emergency Work Orders retrieved: " + results.Length); //Console.ReadKey(); return(results); }
/// <summary> /// Poll Use Case 1: “New” Work Orders /// Operation: RetrieveMultiple(QueryExpression) /// Retrieve a list of Work Orders as follows: /// Where /// Work Order Status = "New" /// Work Order Scheduled Start Date = Some Date /// AND On Site By Date = Some Date /// </summary> /// <param name="corrigoService"></param> /// <returns></returns> public static WorkOrder[] RetrieveMultipleNewWorkOrders(CorrigoService corrigoService) { DateTime dtScheduledStart = DateTime.Today; DateTime dtUtcOnSiteBy = DateTime.Today; var query = new QueryExpression { EntityType = EntityType.WorkOrder, PropertySet = _propertySet, Criteria = new FilterExpression { Conditions = new ConditionExpression[] { new ConditionExpression { PropertyName = "StatusId", Operator = ConditionOperator.Equal, Values = new object[] { WorkOrderStatus.New } }, new ConditionExpression { PropertyName = "DtScheduledStart", Operator = ConditionOperator.Equal, Values = new object[] { dtScheduledStart } }, new ConditionExpression { PropertyName = "DtUtcOnSiteBy", Operator = ConditionOperator.Equal, Values = new object[] { dtUtcOnSiteBy } } }, FilterOperator = LogicalOperator.And }, Orders = new[] { new OrderExpression { PropertyName = "Id", OrderType = OrderType.Ascending } }, }; WorkOrder[] results = corrigoService.RetrieveMultiple(query) .Cast <WorkOrder>() .ToArray(); Console.WriteLine($"Retrieve New Work Orders where Scheduled Start Date = '{dtScheduledStart}' and On Site By Date = '{dtUtcOnSiteBy}' ; # of Work Orders retrieved: " + results.Length); //Console.ReadKey(); return(results); }
public static CorrigoEntity[] RetrieveByQuery(CorrigoService service) { var list = service.RetrieveMultiple( new QueryExpression { EntityType = EntityType.WoPriority, PropertySet = new AllProperties(), Criteria = new FilterExpression { Conditions = new ConditionExpression[] { new ConditionExpression { PropertyName = "IsEmergency", Operator = ConditionOperator.Equal, Values = new object[] { "True" } } }, FilterOperator = LogicalOperator.Or }, Orders = new[] { new OrderExpression { OrderType = OrderType.Descending, PropertyName = "Id" } }, }); Console.WriteLine("WoPriorities: Retrieve by query - Escalated"); if (list == null || list.Length == 0) { return(list); } Console.WriteLine(String.Concat("#".PadLeft(4), "|", "Id".PadLeft(4), "|", "Label".PadRight(60), "|", "Response mins.".PadRight(15), "|", "Complete mins.".PadRight(15), "|", "Escalated".PadRight(10))); int i = 0; foreach (WoPriority item in list) { i++; Console.WriteLine(String.Concat(i.ToString().PadLeft(4), "|", item.Id.ToString().PadLeft(4), "|", item.DisplayAs.PadRight(60), "|", item.RespondInMinutes.ToString().PadLeft(15), "|", item.DueInMinutes.ToString().PadLeft(15), "|", item.IsEmergency.ToString().PadLeft(10))); } Console.WriteLine(); return(list); }
public static CorrigoEntity[] RetrieveMultiple(CorrigoService service) { var list = service.RetrieveMultiple( new QueryByProperty { EntityType = EntityType.Contact, PropertySet = new AllProperties(), Conditions = new PropertyValuePair[0], Orders = new[] { new OrderExpression { OrderType = OrderType.Ascending, PropertyName = "Id" } }, }); Console.WriteLine(); Console.WriteLine("Contacts: Retrieve Multiple"); if (list == null || list.Length == 0) { return(list); } Console.WriteLine(string.Concat("#".PadLeft(4), "|", "Id".PadLeft(4), "|", "DisplayAs".PadRight(40), "|", "Username".PadRight(40), "|", "Number".PadRight(15))); int i = 0; foreach (Contact item in list) { i++; Console.WriteLine(string.Concat(i.ToString().PadLeft(4), "|", item.Id.ToString().PadLeft(4), "|", item.DisplayAs.PadRight(40), "|", item.Username.PadRight(40), "|", item.Number.PadRight(15))); } Console.WriteLine(); return(list); }
// Returns specified number of latest Work Orders public static WorkOrder[] GetLatestWOs(CorrigoService corrigoService, int numberOfWOs, PropertySetBase propertySet = null) { var list = corrigoService.RetrieveMultiple( new QueryExpression { EntityType = EntityType.WorkOrder, PropertySet = (propertySet ?? new AllProperties()), //Order to get latest Orders = new[] { new OrderExpression { OrderType = OrderType.Descending, PropertyName = "CreatedDateUtc" } }, Count = numberOfWOs }); return(list.Cast <WorkOrder>().ToArray()); }
/// <summary> /// To create a Work Order, the Priority is mandatory. /// To view all the available priorities in the system, /// this sample illustrates usage of the RetrieveMultiple (QueryByProperty) web services operation. /// /// Get a list of all Priorities in the system. /// Fields to retrieve: Id, Name, Emergency Flag /// Sort by: Priority Id, Ascending /// </summary> /// <param name="corrigoService"></param> public static WoPriority[] RetrieveMultiple(CorrigoService corrigoService) { QueryByProperty queryByProperty = new QueryByProperty(); //Set Entity Type to Work Order Priority queryByProperty.EntityType = EntityType.WoPriority; //Define fields to retrieve via Property Set queryByProperty.PropertySet = new PropertySet { Properties = new[] { "Id", "DisplayAs", "IsEmergency" } }; //Sort by: Priority Id, Ascending queryByProperty.Orders = new[] { new OrderExpression { PropertyName = "Id", OrderType = OrderType.Ascending } }; //To return 100 objects max uncomment this //queryByProperty.Count = 100; //Run the search WoPriority[] results = corrigoService.RetrieveMultiple(queryByProperty) .Cast <WoPriority>() .ToArray(); Console.WriteLine("# of objects retrieved: " + results.Length.ToString()); //Console.ReadKey(); return(results); }