/// <summary> /// Calculates the operations2 do. /// </summary> /// <param name="email">if set to <c>true</c> [email].</param> /// <param name="alarm">if set to <c>true</c> [alarm].</param> /// <param name="TimeOutExpired">if set to <c>true</c> [time out expired].</param> /// <returns></returns> public RequiredOperations CalculateOperations2Do(bool email, bool alarm, bool TimeOutExpired) { RequiredOperations _ret = 0; if (!TimeOutExpired) { return(_ret); } RequiredOperations _cr = 0; RequiredOperations _escrt = 0; if (alarm) { //Carrier if (this.PartnerTitle != null) { _cr = RequiredOperations.AddAlarm2Carrier; } //Escort if (this.Shipping2PartnerTitle != null) { _escrt = RequiredOperations.AddAlarm2Escort; } } if (email) { if (this.PartnerTitle != null) { _cr |= RequiredOperations.SendEmail2Carrier; } if (this.Shipping2PartnerTitle != null) { _escrt |= RequiredOperations.SendEmail2Escort; } } switch (this.ShippingState.Value) { case Entities.ShippingState.WaitingForCarrierData: _ret = _cr; break; case Entities.ShippingState.WaitingForConfirmation: _ret = _escrt; break; default: _ret = _cr | _escrt; break; } return(_ret); }
public IEndpoint TryGetEndpoint(PathTree tree, IPatternMatcher patternMatcher) { var operations = tree.Item?.Operations.Keys ?? new OperationType[0]; if (!RequiredOperations.All(operations.Contains)) { return(null); } var endpoint = BuildEndpoint(tree.Item); endpoint?.Children.AddRange(patternMatcher.GetEndpoints(tree)); return(endpoint); }
public IEndpoint?TryGetEndpoint(PathTree tree, IPatternMatcher patternMatcher) { var item = tree.Item; if (item == null || !RequiredOperations.All(item.Operations.Keys.Contains)) { return(null); } var endpoint = BuildEndpoint(item); endpoint?.Children.AddRange(patternMatcher.GetEndpoints(tree)); return(endpoint); }
/// <summary> /// Ins the set. /// </summary> /// <param name="set">The set.</param> /// <param name="item">The item.</param> /// <returns></returns> public static bool InSet(RequiredOperations set, RequiredOperations item) { return((set & item) != 0); }