/// <summary> /// Inserts and sends an order to WebFleet, and dispatches the order /// to the target object within WebFleet /// </summary> /// <param name="orderNumber"></param> /// <param name="assignToObjectNumber"></param> /// <param name="orderText"></param> /// <returns></returns> public bool SendOrder(string orderNumber, string assignToObjectNumber, bool sendToDevice, bool autoStartJob, string orderText = "") { var webService = new ordersClient(); var automations = new List <OrderAutomation?>(); if (autoStartJob) { automations = new List <OrderAutomation?>() { OrderAutomation.START, OrderAutomation.ACCEPT, OrderAutomation.NAVIGATING_TO, }; } var codes = new List <OrderStateCode?>(); var response = webService.sendOrder(GetAuthenticationParameters(), GetGeneralParameters(), new BasicOrderParameter() { orderNo = orderNumber, orderText = orderText }, new ObjectIdentityParameter() { objectNo = assignToObjectNumber, }, new AdvancedSendOrderParameter() { orderAutomations = automations.ToArray(), stateCode = codes.ToArray() }); return(HandleResult(response)); }
/// <summary> /// Inserts an order to WebFleet, but does not send the order message /// and must manually be dispatched to an object within WebFleet /// </summary> /// <param name="orderNumber"></param> /// <param name="assignToObjectNumber"></param> /// <param name="orderText"></param> /// <param name="scheduledArrivalTime"> </param> /// <returns></returns> public bool InsertOrder(string orderNumber, string assignToObjectNumber, string orderText = "", string webfleetLocationId = "", DateTime?scheduledArrivalTime = null) { if (string.IsNullOrEmpty(assignToObjectNumber)) { return(false); } var webService = new ordersClient(); var destOrder = new DestinationOrderParameter() { addrNoToUseAsDestination = webfleetLocationId, orderNo = orderNumber, orderText = orderText }; if (scheduledArrivalTime.HasValue) { destOrder.scheduledCompletionDateAndTimeSpecified = true; destOrder.scheduledCompletionDateAndTime = scheduledArrivalTime.Value.AddHours(6); // todo datetime dynamic helper } else { // set local time } var resp = webService.insertDestinationOrder( GetAuthenticationParameters(), GetGeneralParameters(), destOrder, new ObjectIdentityParameter() { objectNo = assignToObjectNumber }, new AdvancedInsertOrderParameter()); if (resp.statusCode != 0) { resp = webService.insertDestinationOrder( GetAuthenticationParameters(), GetGeneralParameters(), destOrder, new ObjectIdentityParameter() { }, new AdvancedInsertOrderParameter() { }); } if (resp.statusCode != 0) { var errorStatus = resp.statusCode; // something went wrong, log todo } return(HandleResult(resp)); }
public bool DeleteOrder(string orderNumber, bool markDeleted) { var webService = new ordersClient(); var response = webService.deleteOrder(GetAuthenticationParameters(), GetGeneralParameters(), new DeleteOrderParameter() { markDeleted = markDeleted, markDeletedSpecified = true, orderNo = orderNumber }); return(HandleResult(response)); }
public bool AssignOrder(string orderNumber, string assignToObjectNumber) { var webService = new ordersClient(); var response = webService.assignOrder(GetAuthenticationParameters(), GetGeneralParameters(), new AssignOrderParameter() { orderNo = orderNumber, objectNo = assignToObjectNumber }, new AdvancedAssignOrderParameter()); return(HandleResult(response)); }
/// <summary> /// Removes all orders from the device and optionally /// marks them as deleted in WebFleet /// </summary> /// <param name="objectNumber"></param> /// <param name="markDeleted"></param> /// <returns></returns> public bool ClearOrders(string objectNumber, bool markDeleted) { var webService = new ordersClient(); var response = webService.clearOrders(GetAuthenticationParameters(), GetGeneralParameters(), new ClearOrdersParameter() { objectNo = objectNumber, markDeleted = markDeleted, markDeletedSpecified = true }); return(HandleResult(response)); }