Exemple #1
0
        /// <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);
        }
Exemple #2
0
        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);
        }
Exemple #4
0
 /// <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);
 }