public IActionResult SubClassTest(SubClassViewModel model) { if (ModelState.IsValid) { } return(View(model)); }
public static ObservableCollection <SubClassViewModel> CreateSubClasses( FirstExampleManager firstExamples, ObservableCollection <SubClassDataTypeViewModel> modelSubClasses, ClassFunctionalViewModel parent) { Random r = new Random(); ObservableCollection <SubClassViewModel> subClasses = new ObservableCollection <SubClassViewModel>(); foreach (SubClassDataTypeViewModel modelSubClass in modelSubClasses) { ObservableCollection <IUnitViewModel> units = new ObservableCollection <IUnitViewModel>(); for (int index = 0; index < modelSubClass.VehicleNumbersList.Count; ++index) { // Read raw data from the file and used to create a new unit. IndividualUnitFileContents unitRaw = IndividualUnitIOController.ReadIndividualUnitFile( parent.ClassId, modelSubClass.VehicleNumbersList[index].VehicleNumber.ToString()); if (unitRaw == null) { Logger.Instance.WriteLog($"Failed to read unit from file, data missing: {modelSubClass.VehicleNumbersList[index].VehicleNumber}"); } else { int imageIndex = r.Next(0, modelSubClass.SubClassImageList.Count); IUnitViewModel newUnit = new UnitViewModel( IndividualUnitIOController.WriteIndividualUnitFile, firstExamples, parent.ClassId, unitRaw, index == 0, index == modelSubClass.VehicleNumbersList.Count - 1, modelSubClass.GetImagePath(imageIndex), parent.ClassData.AlphaIdentifier); units.Add(newUnit); } } SubClassViewModel newSubClass = new SubClassViewModel( parent.ClassData.AlphaIdentifier, units); subClasses.Add(newSubClass); } return(subClasses); }
/// <summary> /// The saved context. /// </summary> // public new GenSavedContext SavedContext { get { return base.SavedContext; } private set { base.SavedContext = value; } } /// <summary> /// Create a new <see cref="SubClassTreeNode"/> for the selected subclass. /// </summary> /// <param name="parentNode">The tree node of the parent class of this subclass.</param> /// <param name="genDataBase">The data being navigated.</param> /// <param name="definition">The definition data for the data being navigated.</param> /// <param name="classId">The ClassId of this subclass.</param> public SubClassTreeNode(ClassTreeNode parentNode, GenDataBase genDataBase, Definition definition, int classId) { ClassId = classId; ParentNode = parentNode; GenDataBase = genDataBase; Definition = definition; var genDataDef = GenDataBase.GenDataDef; int parentClassId; string parentClassName; Class parentClass; Def = null; if (ParentNode == null) { SubClassBase = genDataBase.Root.SubClass[0]; } else { parentClassId = ParentNode.ClassId; parentClassName = genDataDef.GetClassName(parentClassId); SubClassBase = ParentNode.GenObject.GetSubClass(genDataDef.GetClassName(classId)); parentClass = definition.ClassList.Find(parentClassName); var i = genDataDef.Classes[parentClassId].IndexOfSubClass(genDataDef.GetClassName(ClassId)); SubClassDef = genDataDef.GetClassSubClasses(parentClassId)[i]; if (parentClass != null) { Def = parentClass.SubClassList[i]; } } Text = genDataDef.GetClassName(ClassId) + (SubClassDef != null && !string.IsNullOrEmpty(SubClassDef.Reference) ? ":" + SubClassBase.Reference : ""); ImageIndex = 2; ToolTipText = Text; Tag = new SubClassViewModel(ParentNode == null ? null : ParentNode.GenObject.ParentSubClass, SubClassBase, Def, SubClassDef, SubClassDef != null && !string.IsNullOrEmpty(SubClassDef.Reference)); for (var j = 0; j < SubClassBase.Count; j++) { Nodes.Add(new ClassTreeNode(this, GenDataBase, Definition, ClassId, SubClassBase[j])); } }