internal static void AddVehicleFamily(string familyName) { if (AllVehicleFamilies.FirstOrDefault(x => x.Name == familyName) == null) { AllVehicleFamilies.Add(new VehicleFamily(familyName)); } }
internal static Dictionary <string, List <string> > GetVehicleNameGroupByFamily() { if (_allVehicleNamesGroupByFamily == null) { _allVehicleNamesGroupByFamily = AllVehicleFamilies.ToDictionary(g => g.Name, g => g.AllVehicles.Select(v => v.GetFullName()).ToList()); } return(_allVehicleNamesGroupByFamily); }
internal static List <string> GetAllFamilyNames() { if (_allFamilyNames == null) { _allFamilyNames = AllVehicleFamilies.Select(x => x.Name).ToList(); } return(_allFamilyNames); }
// Vehicle management internal static Vehicle AddVehicle(string familyName, string newVehicle, double _mass, string _note = "") { var family = AllVehicleFamilies.FirstOrDefault(x => x.Name.Trim().ToLowerInvariant() == familyName.Trim().ToLowerInvariant()); Vehicle v; if (family != null) { v = new Vehicle("", newVehicle, _mass, _note); family.AddVehicle(v); v.SetSubassemblyName(v.GetFullName()); return(v); } return(null); }
internal static bool VehicleAvailable(string familyName, string vehicleName, Vehicle vehicle = null) { var family = AllVehicleFamilies.FirstOrDefault(x => String.Equals(x.Name.Trim(), familyName.Trim(), StringComparison.OrdinalIgnoreCase)); if (GetAllVehicles().Contains(vehicle)) { return(true); } if (family != null) { return(family.AllVehicles.FirstOrDefault(x => String.Equals(x.Name.Trim(), vehicleName.Trim(), StringComparison.OrdinalIgnoreCase)) == null); } return(false); }
internal static VehicleFamily GetVehicleFamily(string familyName) { return(AllVehicleFamilies.FirstOrDefault(x => String.Equals(x.Name.Trim(), familyName.Trim(), StringComparison.OrdinalIgnoreCase))); }
internal static bool FamilyAvailable(string familyName) { return(AllVehicleFamilies.FirstOrDefault(x => String.Equals(x.Name.Trim(), familyName.Trim(), StringComparison.OrdinalIgnoreCase)) == null); }