public static string GetName(this StatusTag value)
        {
            var fi         = typeof(StatusTag).GetField(value.ToString());
            var attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);

            return(attributes.Length > 0 ? attributes[0].Description : value.ToString());
        }
Пример #2
0
 public void DeletTag(StatusTag tag)
 {
     if (_tags != null)
     {
         _tags.Remove(tag);
     }
 }
Пример #3
0
        void ParseStatus()
        {
            if (StatusTag.Contains("U") || StatusTag == "AA" || StatusTag == "DD")
            {
                StatusCode |= (uint)EStatus.Unresolved;
            }
            else if (StatusTag[0] == '!')
            {
                StatusCode |= (uint)EStatus.Ignored;
            }
            else if (StatusTag[0] == '?')
            {
                StatusCode |= (uint)EStatus.Untracked;
            }
            else if (StatusTag[0] == 'R')
            {
                StatusCode |= (uint)EStatus.HasStagedChanges;
                StatusCode |= (uint)EStatus.Renamed;
            }
            else if (StatusTag[0] == 'D')
            {
                StatusCode |= (uint)EStatus.HasStagedChanges;
                StatusCode |= (uint)EStatus.Deleted;
            }
            else if (StatusTag[0] != ' ')
            {
                StatusCode |= (uint)EStatus.HasStagedChanges;
            }

            if (StatusTag[1] != ' ' && StatusTag[1] != '!')
            {
                StatusCode |= (uint)EStatus.HasUnstagedChanges;
            }
        }
Пример #4
0
 public AdjustedStats(IStats stats, int duration, bool isDebuff, bool indefinite, StatusTag tag)
 {
     _tag     = tag;
     Stats    = stats;
     IsDebuff = isDebuff;
     // This makes it so that for 1 Turns in the UI will last until the End of the Subsequent Turn.
     // 0 Turn Duration would last until the end of the current turn
     // Perhaps we need a design that would select whether something should last until the start of turn, or end of turn, or perhaps the character's next action
     // For now, this solves the current use case.
     _remainingTurnDuration = duration + 1;
     _indefinite            = indefinite;
 }
 public void addTag(StatusTag tag)
 {
     if (_tags == null)
     {
         _tags = new List <StatusTag>();
         _tags.Add(tag);
     }
     else
     {
         _tags.Add(tag);
     }
 }
Пример #6
0
 public void AddTag(StatusTag tag)
 {
     if (_tags == null)
     {
         _tags = new List <StatusTag> {
             tag
         }
     }
     ;
     else
     {
         _tags.Add(tag);
     }
 }
Пример #7
0
 private void updateStatus(object sender, PLCInterfaceEventArgs e)
 {
     Dispatcher.BeginInvoke((Action)(() =>
     {
         try
         {
             StatusTag.GetValueFromGroupBuffer(e.CyclicStatusBuffer);
             if ((bool)StatusTag.Value)
             {
                 Grid.Background = OnColor;
                 Button.Margin = new Thickness(3);
             }
             else
             {
                 Grid.Background = OffColor;
                 Button.Margin = new Thickness(1);
             }
         }
         catch
         {
         }
     }
                                     ));
 }
Пример #8
0
        public Tracking(JObject trackingJson)
        {
            _id = trackingJson["id"] == null
                ? null
                : trackingJson["id"].ToString();
            _trackingNumber = trackingJson["tracking_number"] == null
                ? null
                : trackingJson["tracking_number"].ToString();
            _slug = trackingJson["slug"] == null
                ? null
                : trackingJson["slug"].ToString();
            _title = trackingJson["title"] == null
                ? null
                : trackingJson["title"].ToString();
            _customerName = trackingJson["customer_name"] == null
                ? null
                : trackingJson["customer_name"].ToString();
            _expectedDelivery = trackingJson["expected_delivery"] == null
                ? null
                : trackingJson["expected_delivery"].ToString();
            _orderId = trackingJson["order_id"] == null
                ? null
                : trackingJson["order_id"].ToString();
            _orderIdPath = trackingJson["order_id_path"] == null
                ? null
                : trackingJson["order_id_path"].ToString();
            _trackingAccountNumber = trackingJson["tracking_account_number"] == null
                ? null
                : trackingJson["tracking_account_number"].ToString();
            _trackingPostalCode = trackingJson["tracking_postal_code"] == null
                ? null
                : trackingJson["tracking_postal_code"].ToString();
            _trackingShipDate = trackingJson["tracking_ship_date"] == null
                ? null
                : trackingJson["tracking_ship_date"].ToString();
            _shipmentType = trackingJson["shipment_type"] == null
                ? null
                : trackingJson["shipment_type"].ToString();
            _signedBy = trackingJson["singned_by"] == null
                ? null
                : trackingJson["signed_by"].ToString();
            _source = trackingJson["source"] == null
                ? null
                : trackingJson["source"].ToString();
            _uniqueToken = trackingJson["unique_token"] == null
                ? null
                : trackingJson["unique_token"].ToString();

            var smsesArray = trackingJson["smses"] == null
                ? null
                : (JArray)trackingJson["smses"];
            var emailsArray = trackingJson["emails"] == null
                ? null
                : (JArray)trackingJson["emails"];
            var destinationCountryIso3 = trackingJson["destination_country_iso3"] == null
                ? null
                : trackingJson["destination_country_iso3"].ToString();
            var originCountryIso3 = trackingJson["origin_country_iso3"] == null
                ? null
                : trackingJson["origin_country_iso3"].ToString();
            var customFieldsJson = (trackingJson["custom_fields"] == null || !trackingJson["custom_fields"].HasValues)
                ? null
                : (JObject)trackingJson["custom_fields"];
            var tag = trackingJson["tag"] == null
                ? null
                : trackingJson["tag"].ToString();
            var checkpointsArray = trackingJson["checkpoints"] == null
                ? null
                : (JArray)trackingJson["checkpoints"];

            #region Non-string values

            if (!string.IsNullOrEmpty(destinationCountryIso3))
            {
                if (!Enum.TryParse(destinationCountryIso3, out _destinationCountryIso3))
                {
                    _destinationCountryIso3 = Iso3Country.Null;
                }
            }
            else
            {
                _destinationCountryIso3 = Iso3Country.Null;
            }

            if (smsesArray != null && smsesArray.Count != 0)
            {
                _phones = new List <string>();
                foreach (var token in smsesArray)
                {
                    _phones.Add(token.ToString());
                }
            }

            if (emailsArray != null && emailsArray.Count != 0)
            {
                _emails = new List <string>();
                foreach (var token in emailsArray)
                {
                    _emails.Add(token.ToString());
                }
            }

            if (customFieldsJson != null)
            {
                _customFields = new Dictionary <string, string>();
                var keys = customFieldsJson.Properties();
                foreach (var item in keys)
                {
                    _customFields.Add(item.Name, customFieldsJson[item.Name].ToString());
                }
            }

            if (trackingJson["created_at"] != null)
            {
                if (!DateTime.TryParse(trackingJson["created_at"].ToString(), out _createdAt))
                {
                    _createdAt = DateTime.MinValue;
                }
            }
            else
            {
                _createdAt = DateTime.MinValue;
            }

            if (trackingJson["updated_at"] != null)
            {
                if (!DateTime.TryParse(trackingJson["updated_at"].ToString(), out _updatedAt))
                {
                    _updatedAt = DateTime.MinValue;
                }
            }
            else
            {
                _updatedAt = DateTime.MinValue;
            }

            if (trackingJson["active"] != null)
            {
                if (!bool.TryParse(trackingJson["active"].ToString(), out _active))
                {
                    _active = false;
                }
            }
            else
            {
                _active = false;
            }

            if (!string.IsNullOrEmpty(originCountryIso3))
            {
                if (!Enum.TryParse(originCountryIso3, out _originCountryIso3))
                {
                    _originCountryIso3 = Iso3Country.Null;
                }
            }
            else
            {
                _originCountryIso3 = Iso3Country.Null;
            }

            if (trackingJson["shipment_package_count"] != null)
            {
                if (int.TryParse(trackingJson["shipment_package_count"].ToString(), out _shipmentPackageCount))
                {
                    _shipmentPackageCount = 0;
                }
            }
            else
            {
                _shipmentPackageCount = 0;
            }

            if (!string.IsNullOrEmpty(tag))
            {
                if (!Enum.TryParse(tag, out _tag))
                {
                    _tag = StatusTag.Unknown;
                }
            }
            else
            {
                _tag = StatusTag.Unknown;
            }

            if (trackingJson["tracked_count"] != null)
            {
                if (int.TryParse(trackingJson["tracked_count"].ToString(), out _trackedCount))
                {
                    _trackedCount = 0;
                }
            }
            else
            {
                _trackedCount = 0;
            }

            #endregion

            if (checkpointsArray == null)
            {
                return;
            }

            _checkpoints = new List <Checkpoint>();

            foreach (var token in checkpointsArray)
            {
                _checkpoints.Add(new Checkpoint((JObject)token));
            }
        }
Пример #9
0
        public Tracking(JObject trackingJSON)
        {
            String destination_country_iso3;
            String origin_country_iso3;

            this.id = trackingJSON["id"] == null?null:(String)trackingJSON["id"];

            //fields that can be updated by the user
            _trackingNumber          = trackingJSON["tracking_number"] == null?null:(String)trackingJSON["tracking_number"];
            _slug                    = trackingJSON["slug"] == null?null:(String)trackingJSON["slug"];
            _title                   = trackingJSON["title"] == null?null:(String)trackingJSON["title"];
            _customerName            = trackingJSON["customer_name"] == null?null:(String)trackingJSON["customer_name"];
            destination_country_iso3 = (String)trackingJSON["destination_country_iso3"];

            if (destination_country_iso3 != null && destination_country_iso3 != String.Empty)
            {
                _destinationCountryISO3 = (ISO3Country)Enum.Parse(typeof(ISO3Country), destination_country_iso3);
            }
            _orderID               = trackingJSON["order_id"] == null?null:(String)trackingJSON["order_id"];
            _orderIDPath           = trackingJSON["order_id_path"] == null?null:(String)trackingJSON["order_id_path"];
            _trackingAccountNumber = trackingJSON["tracking_account_number"] == null?null:
                                     (String)trackingJSON["tracking_account_number"];
            _trackingPostalCode = trackingJSON["tracking_postal_code"] == null?null:
                                  (String)trackingJSON["tracking_postal_code"];
            _trackingShipDate = trackingJSON["tracking_ship_date"] == null?null:
                                (String)trackingJSON["tracking_ship_date"];

            JArray smsesArray = trackingJSON["smses"] == null?null:(JArray)trackingJSON["smses"];

            if (smsesArray != null && smsesArray.Count != 0)
            {
                _smses = new List <String>();
                for (int i = 0; i < smsesArray.Count; i++)
                {
                    _smses.Add((String)smsesArray[i]);
                }
            }

            JArray emailsArray = trackingJSON["emails"] == null?null: (JArray)trackingJSON["emails"];

            if (emailsArray != null && emailsArray.Count != 0)
            {
                _emails = new List <String>();
                for (int i = 0; i < emailsArray.Count; i++)
                {
                    _emails.Add((String)emailsArray[i]);
                }
            }

            JObject customFieldsJSON = trackingJSON["custom_fields"] == null || !trackingJSON["custom_fields"].HasValues ?null:
                                       (JObject)trackingJSON["custom_fields"];

            if (customFieldsJSON != null)
            {
                _customFields = new Dictionary <String, String>();
                IEnumerable <JProperty> keys = customFieldsJSON.Properties();
                foreach (var item in keys)
                {
                    _customFields.Add(item.Name, (String)customFieldsJSON[item.Name]);
                }
            }

            //fields that can't be updated by the user, only retrieve
            _createdAt        = trackingJSON["created_at"] == null?DateTime.MinValue:(DateTime)trackingJSON["created_at"];
            _updatedAt        = trackingJSON["updated_at"] == null?DateTime.MinValue:(DateTime)trackingJSON["updated_at"];
            _expectedDelivery = trackingJSON["expected_delivery"] == null?null:(String)trackingJSON["expected_delivery"];

            _active = trackingJSON ["active"] == null? false : (bool)trackingJSON["active"];

            origin_country_iso3 = (String)trackingJSON["origin_country_iso3"];

            if (origin_country_iso3 != null && origin_country_iso3 != String.Empty)
            {
                _originCountryISO3 = (ISO3Country)Enum.Parse(typeof(ISO3Country), origin_country_iso3);
            }
            _shipmentPackageCount = trackingJSON["shipment_package_count"] == null?0:
                                    (int)trackingJSON["shipment_package_count"];
            _shipmentType = trackingJSON["shipment_type"] == null?null:(String)trackingJSON["shipment_type"];
            _signedBy     = trackingJSON["singned_by"] == null?null:(String)trackingJSON["signed_by"];
            _source       = trackingJSON["source"] == null?null:(String)trackingJSON["source"];
            _tag          = (String)trackingJSON["tag"] == null?0:
                            (StatusTag)Enum.Parse(typeof(StatusTag), (String)trackingJSON["tag"]);

            _trackedCount = trackingJSON["tracked_count"] == null?0:(int)trackingJSON["tracked_count"];
            _uniqueToken  = trackingJSON["unique_token"] == null?null:(String)trackingJSON["unique_token"];

            // checkpoints
            JArray checkpointsArray = trackingJSON["checkpoints"] == null?null:
                                      (JArray)trackingJSON["checkpoints"];

            if (checkpointsArray != null && checkpointsArray.Count != 0)
            {
                _checkpoints = new List <Checkpoint>();
                for (int i = 0; i < checkpointsArray.Count; i++)
                {
                    _checkpoints.Add(new Checkpoint((JObject)checkpointsArray[i]));
                }
            }
        }
Пример #10
0
 public bool HasStatus(StatusTag tag) => _reactiveStates.Any(r => r.Tag == tag) ||
 _additiveMods.Any(r => r.Tag == tag) ||
 _multiplierMods.Any(r => r.Tag == tag);
Пример #11
0
 public StatusIconDefinition this[StatusTag status] => Icons[status.ToString()];
Пример #12
0
 public void deletTag(StatusTag tag)
 {
     if (_tags != null) {
         _tags.Remove (tag);
     }
 }
Пример #13
0
 public void addTag(StatusTag tag)
 {
     if (_tags == null) {
         _tags = new List<StatusTag>();
         _tags.Add(tag);
     }  else {
         _tags.Add(tag);
     }
 }