Ejemplo n.º 1
0
 public static void SetInt(Dictionary <string, object> itemValues, string key, NumericUpDown field,
                           string id, bool mandatory)
 {
     if (itemValues.ContainsKey(key))
     {
         try
         {
             int val = (int)itemValues[key];
             if (val > field.Maximum)
             {
                 IssueTracker.PostIssue("Value '" + val + "' for key '" + key + "' exceeds the maximum allowed.",
                                        IssueTracker.IssueLevel.WARNING);
                 val = (int)field.Maximum;
             }
             else if (val < field.Minimum)
             {
                 IssueTracker.PostIssue("Value '" + val + "' for key '" + key + "' is below the minimum allowed.",
                                        IssueTracker.IssueLevel.WARNING);
                 val = (int)field.Minimum;
             }
             field.Value = val;
         }
         catch (InvalidCastException)
         {
             MessageBox.Show("Expected 'int' for key '" + key + "' but got '" + itemValues[key].GetType().ToString() + "'",
                             "Data Error", MessageBoxButtons.OK);
         }
     }
     else if (mandatory)
     {
         IssueTracker.PostIssue(
             "Item '" + id + "': missing mandatory value for '" + key + "'.",
             IssueTracker.IssueLevel.ERROR);
     }
 }
Ejemplo n.º 2
0
        public static void SetCheck(string id, string item, CheckedListBox field)
        {
            if (field.Items.Contains(item))
            {
                field.SetItemChecked(field.Items.IndexOf(item), true);
            }
            else
            {
                IssueTracker.PostIssue(
                    "Item '" + id + "': tag \"" + item + "\" doesn't exist. Will create...",
                    IssueTracker.IssueLevel.WARNING);

                //Create tag/mat
                //TODO:
            }
        }
Ejemplo n.º 3
0
        public static void SetList(Dictionary <string, object> itemValues, string key, ListBox box, BindingList <GroupedData> field,
                                   string id, bool mandatory)
        {
            if (itemValues.ContainsKey(key))
            {
                if (itemValues[key] is object[])
                {
                    object[] objarr = (object[])itemValues[key];
                    if (objarr.Length > 0)
                    {
                        object subobject = objarr[0];
                        if (((JsonFormTag)box.Tag).listBoxData.defaultValue.GetType().IsAssignableFrom(subobject.GetType()))
                        {
                            foreach (object obj in objarr)
                            {
                                field.Add(new GroupedData(obj));
                            }
                        }
                        else
                        {
                            field.Add(new GroupedData(itemValues[key]));
                        }
                    }
                }
                else
                {
                    field.Add(new GroupedData(itemValues[key]));
                }

                if (box.Items.Count > 0)
                {
                    box.SelectedIndex = 0; //TODO: THIS MIGHT NOT CALLBACK
                }
            }
            else if (mandatory)
            {
                IssueTracker.PostIssue(
                    "Item '" + id + "': missing mandatory value for '" + key + "'.",
                    IssueTracker.IssueLevel.ERROR);
            }
        }
Ejemplo n.º 4
0
 public static void SetCheckBox(Dictionary <string, object> itemValues, string key, CheckBox field,
                                string id, bool mandatory, bool material = false)
 {
     if (itemValues.ContainsKey(key))
     {
         try
         {
             field.Checked = (bool)itemValues[key];
         }
         catch (InvalidCastException)
         {
             MessageBox.Show("Expected 'bool' for key '" + key + "' but got '" + itemValues[key].GetType().ToString() + "'",
                             "Data Error", MessageBoxButtons.OK);
         }
     }
     else if (mandatory)
     {
         IssueTracker.PostIssue(
             "Item '" + id + "': missing mandatory value for '" + key + "'.",
             IssueTracker.IssueLevel.ERROR);
     }
 }
Ejemplo n.º 5
0
        public static void SetCheck(string id, string item, CheckedListBox field)
        {
            if (!field.Items.Contains(item))
            {
                if (((JsonFormTag)field.Tag).dataSource > JsonFormTag.DataSourceType.PRESET_COUNT)
                {
                    IssueTracker.PostIssue(
                        "Item '" + id + "': tag \"" + item + "\" doesn't exist and cannot add.",
                        IssueTracker.IssueLevel.ERROR);
                    return;
                }

                IssueTracker.PostIssue(
                    "Item '" + id + "': tag \"" + item + "\" doesn't exist. Will add...",
                    IssueTracker.IssueLevel.WARNING);

                //Create tag/mat
                Storage.UpdateDataSource(((JsonFormTag)field.Tag).dataSource, item);
            }

            field.SetItemChecked(field.Items.IndexOf(item), true);
        }
Ejemplo n.º 6
0
 public static void SetChecks(Dictionary <string, object> itemValues, string key, CheckedListBox field,
                              string id, bool mandatory, bool material = false)
 {
     if (itemValues.ContainsKey(key))
     {
         if (itemValues[key] is object[])
         {
             object[] tags = (object[])itemValues[key];
             if (material && tags.Length > 2)
             {
                 IssueTracker.PostIssue(
                     "Item '" + id + "': 'material' has too many items (expected 2).",
                     IssueTracker.IssueLevel.WARNING);
             }
             foreach (string str in tags)
             {
                 SetCheck(id, str, field);
             }
         }
         else
         {
             try
             {
                 SetCheck(id, (string)itemValues[key], field);
             }
             catch (InvalidCastException)
             {
                 MessageBox.Show("Expected 'array' or 'string' for key '" + key + "' but got '" + itemValues[key].GetType().ToString() + "'",
                                 "Data Error", MessageBoxButtons.OK);
             }
         }
     }
     else if (mandatory)
     {
         IssueTracker.PostIssue(
             "Item '" + id + "': missing mandatory value for '" + key + "'.",
             IssueTracker.IssueLevel.ERROR);
     }
 }