async Task ExecuteLoadItemsCommand()
        {
            try
            {
                Stores.Clear();
                var palletMaster = await DataStore.GetPalletMaterDataAsync();

                foreach (var item in palletMaster.Stores)
                {
                    Stores.Add(item);
                }

                Status.Clear();
                foreach (var item in palletMaster.Status)
                {
                    Status.Add(item);
                }

                Categories.Clear();
                foreach (var item in palletMaster.Categories)
                {
                    Categories.Add(item);
                }

                Wrappers.Clear();
                foreach (var item in palletMaster.Wrappers)
                {
                    Wrappers.Add(item);
                }

                Shippers.Clear();
                foreach (var item in palletMaster.Shippers)
                {
                    Shippers.Add(item);
                }

                Suppliers.Clear();
                foreach (var item in palletMaster.Suppliers)
                {
                    Suppliers.Add(item);
                }

                Builders.Clear();
                foreach (var item in palletMaster.Builders)
                {
                    Builders.Add(item);
                }

                PalletTypes.Clear();
                foreach (var item in palletMaster.PalletTypes)
                {
                    PalletTypes.Add(item);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
        }
        protected void SetDefaults(bool clear = true)
        {
            if (clear)
            {
                ValueTranslators.Clear();
                Builders.Clear();
                AppendCheckers.Clear();
                PreAppendChecker = null;
            }

            // Translates string properties to string... duh!
            ValueTranslators.Add(typeof(string), (a, t, v) => v.ToString());

            // Translates enum properties to string by using the name representing the enum value.
            ValueTranslators.Add(typeof(Enum), (a, t, v) => {
                string name = Enum.GetName(t, v);
                return(a.EnumCase == EnumCasePolicy.LOWERCASE ? name.ToLower() : a.EnumCase == EnumCasePolicy.UPPERCASE ? name.ToUpper() : name);
            });

            // Only append flag if value isn't null. This is checked before any other registered append checkers.
            PreAppendChecker = (a, t, v) => v != null;

            // Only append boolean flags if the value is true.
            AppendCheckers.Add(typeof(bool), (a, t, v) => (bool)v); // Add bool flags if value isnt false.

            // Custom builder for string -> string dictionaries repeatedly adds flag with key-value pair seperated by colon.
            Builders.Add(typeof(Dictionary <string, string>), (a, t, v) => {
                string builtFlag = string.Empty;
                int count        = 0;

                Dictionary <string, string> dic = (Dictionary <string, string>)v;
                foreach (KeyValuePair <string, string> entry in dic)
                {
                    string value = string.Format("{0}:{1}", entry.Key, entry.Value);
                    value        = QuoteFlagValue(a.QuotePolicy, value);

                    builtFlag += string.Format("{0}{1} ", (dic.Count > 1 && count > 0) ? (a.Flag + " ") : string.Empty, value);
                    count++;
                }

                if (dic.Count > 0)
                {
                    builtFlag = builtFlag.Remove(builtFlag.Length - 1, 1);
                }

                return(a.Template.Replace("{flag}", a.Flag).Replace("{value}", builtFlag));
            });
        }
        public void When_there_is_no_builder_for_an_aggregate()
        {
            Builders.Clear();

            Should.Throw <BuilderNotFoundException>(() => Session.LoadAggregate <Toggle>(ToggleID.CreateNew()));
        }
Exemple #4
0
        /// <summary>
        /// Sets this <see cref="CommandLineBuilder"/> to its default settings.
        /// </summary>
        public virtual void SetDefaults()
        {
            ValueTranslators.Clear();
            Builders.Clear();
            SerializationCheckers.Clear();

            ArgumentSeperator = " ";
            Seperator         = " ";

            // Only serialize flag if value isn't null. This is called before any other registered serialization checkers.
            CommonSerializationChecker = (a, t, v) => v != null;

            // Only serialize boolean flags if the value is true.
            SerializationCheckers.Add(typeof(bool), (a, t, v) => (bool)v); // Serialize boolean flags if value isn't false.

            // Only serialize dictionaries if they contain items.
            SerializationCheckers.Add(typeof(Dictionary <string, string>), (a, t, v) => ((Dictionary <string, string>)v).Count > 0);

            // Translates string properties to string... duh!
            ValueTranslators.Add(typeof(string), (a, t, v) => v.ToString());

            // Translate DateTime objects to the format of "yyyyMMdd".
            ValueTranslators.Add(typeof(DateTime), (a, t, v) => ((DateTime)v).ToString("yyyyMMdd"));

            // Translates enum properties to string by using the name representing the enum value.
            ValueTranslators.Add(typeof(Enum), (a, t, v) => {
                string name = Enum.GetName(t, v);

                switch (a.EnumCase)
                {
                case EnumCasePolicy.Lowercase:
                    return(name.ToLower());

                case EnumCasePolicy.Uppercase:
                    return(name.ToUpper());

                case EnumCasePolicy.Default:
                default:
                    return(name);
                }
            });


            // Custom builder for string -> string dictionaries repeatedly adds flag with key-value pair seperated by colon.
            Builders.Add(typeof(Dictionary <string, string>), (argument, type, value) => {
                Dictionary <string, string> dictionary = (Dictionary <string, string>)value;
                if (dictionary.Count == 0)
                {
                    return(null); // Returning null for a builder, or value translator ignores this argument.
                }
                StringBuilder sb = new StringBuilder();

                foreach (KeyValuePair <string, string> entry in dictionary)
                {
                    sb.Append(BuildFlag(argument, string.Format("{0}:{1}", entry.Key, entry.Value))).Append(ArgumentSeperator);
                }

                if (dictionary.Count > 1)
                {
                    sb.Remove(sb.Length - ArgumentSeperator.Length, ArgumentSeperator.Length);
                }

                return(sb.ToString());
            });
        }