Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        // 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());
        }
Exemple #8
0
        /// <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);
        }