/// <summary> /// Initialises a new instance of the <see cref="UnitViewModel"/> class. /// </summary> /// <param name="individualUnitIoController">Unit IO manager</param> /// <param name="className">name of the parent class.</param> public UnitViewModel( Func <IUnitViewModel, string, bool> saveAction, FirstExampleManager firstExamples, string className, IndividualUnitFileContents rawData, bool isFirst, bool isLast, string imagePath, string alphaIdentifier) : base(rawData, firstExamples) { this.saveAction = saveAction; this.firstExamples = firstExamples; this.OpenWindowCmd = new CommonCommand(this.OpenWindow, () => true); this.PreviousUnitCmd = new CommonCommand(this.PreviousUnit, this.PreviousUnitAvailable); this.NextUnitCmd = new CommonCommand(this.NextUnit, this.NextUnitAvailable); this.UpdateUnitCmd = new CommonCommand(this.UpdateUnit, this.UpdateCmdAvailable); this.RefreshUnitCmd = new CommonCommand(this.RefreshUnit, () => true); this.SaveUnitCmd = new CommonCommand(this.SaveUnit, () => true); this.CloseWindowCmd = new CommonCommand(this.CloseWindow, () => true); this.FirstUnit = isFirst; this.LastUnit = isLast; this.SubClassImagePath = imagePath; this.AlphaIdentifier = alphaIdentifier; this.className = className; this.CompleteUpdate(); }
/// <summary> /// Convert from a <see cref="IJourneyDetailsType"/> to a <see cref="IJourneyViewModel"/>. /// </summary> /// <param name="input"><see cref="IJourneyDetailsType"/> to convert</param> /// <param name="firstExamples">first examples manager</param> /// <param name="parentNumber">parent unit id</param> /// <returns>converted <see cref="IJourneyViewModel"/></returns> public static IJourneyViewModel ToJourneyViewModel( IJourneyDetailsType input, FirstExampleManager firstExamples, string parentNumber = "") { string unitOne = input.Units.Count > 0 ? input.Units[0] : string.Empty; string unitTwo = input.Units.Count > 1 ? input.Units[1] : string.Empty; string unitThree = input.Units.Count > 2 ? input.Units[2] : string.Empty; string unitFour = input.Units.Count > 3 ? input.Units[3] : string.Empty; JourneyViewModel viewModel = new JourneyViewModel( firstExamples, parentNumber, input.JnyId.JnyNumber, input.From, input.To, input.Via, input.JnyId.Date, input.Distance, unitOne, unitTwo, unitThree, unitFour); viewModel.CalculateStates(); return(viewModel); }
/// <summary> /// Creates a new instance of this form. /// </summary> /// <param name="mainForm">pare11nt form</param> public InputFormViewModel(FirstExampleManager firstExamples) { //this.mainFactory = mainFactory; currentYear = DateTime.Now.Year.ToString(); this.date = DateTime.Now; this.firstExamples = firstExamples; firstExamples.LoadAnnualList(currentYear); this.PreviousDayCmd = new CommonCommand(this.PreviousDay); this.NextDayCmd = new CommonCommand(this.NextDay); this.AddJnyCmd = new CommonCommand(this.AddNewJny, this.VclePropertiesValid); this.SaveCmd = new CommonCommand(this.SaveDay, this.CanSave); this.CloseCmd = new CommonCommand(this.CloseWindow); this.JnyList = new ObservableCollection <IJourneyViewModel>(); this.InitialiseInputForm(); firstVehicle = string.Empty; secondVehicle = string.Empty; thirdVehicle = string.Empty; fourthVehicle = string.Empty; this.SetupDays(); }
/// <date>12/08/2018</date> /// <summary> /// Initialises a new instance of the <see cref="VehicleDetailsViewModel"/> class. /// </summary> /// <param name="rawData"> raw data, read from the file.</param> public VehicleDetailsViewModel( IndividualUnitFileContents rawData, FirstExampleManager firstExamples) { this.UnitNumber = rawData.UnitNumber; this.FormerNumbers = new VehicleNumberTypeViewModel(); this.m_lastCheckDate = rawData.LastCheckDate; this.FormerNumbers = rawData.FormerNumbers; this.Notes = rawData.Notes; foreach (IJourneyDetailsType jny in rawData.Journeys) { IJourneyViewModel journey = JourneyFactory.ToJourneyViewModel( jny, firstExamples, this.UnitNumber); this.AddJourney(journey); } this.origMilage = UnitDistance; for (int index = 0; index < this.ServiceTypeList.Count; ++index) { if (this.ServiceTypeList[index] == rawData.InService) { this.serviceIndex = index; break; } } }
public MainWindow() { InitializeComponent(); Console.Write("create Log"); Logger.SetInitialInstance("ShapLog"); //DailyIOController dailyIoController = new DailyIOController(); //IDailyInputFactory dailyInputFactory = // new DailyInputFactory // (dailyIoController); UnitsIOController unitsIoController = new UnitsIOController(); UnitsXmlIOController unitsXmlIoController = new UnitsXmlIOController( unitsIoController); //IndividualUnitIOController individualUnitIoController = // new IndividualUnitIOController(); FirstExampleManager firstExamples = new FirstExampleManager(); this.DataContext = new MainWindowViewModel( unitsIoController, unitsXmlIoController, firstExamples); }
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> /// Initialises a new instance of the <see cref="IndexItemViewModel"/> class. /// </summary> /// <param name="unitsIoController">units IO controller</param> /// <param name="unitsXmlIoController">units XML IO controller</param> /// <param name="individualUnitIoController">individual Unit IO controller</param> /// <param name="name">item name</param> public IndexItemViewModel( UnitsIOController unitsIoController, UnitsXmlIOController unitsXmlIoController, FirstExampleManager firstExamples, string name) { this.unitsIoController = unitsIoController; this.unitsXmlIoController = unitsXmlIoController; this.firstExamples = firstExamples; this.indexName = name; this.inConfigurationMode = false; this.OpenWindowCmd = new CommonCommand(this.ShowClassWindow); }
/// ---------- ---------- ---------- ---------- ---------- ---------- /// <name>ClassFrontPageForm</name> /// <date>29/12/12</date> /// <summary> /// create a new instance of this class /// </summary> /// <param name="unitsIoController">units IO controller</param> /// <param name="unitsXmlIoController">Units XML IO Controller</param> /// <param name="individualUnitIoController">Individual Unit IO Controller</param> /// <param name="classId">class id</param> /// ---------- ---------- ---------- ---------- ---------- ---------- public ClassFunctionalViewModel( UnitsIOController unitsIoController, UnitsXmlIOController unitsXmlIoController, FirstExampleManager firstExamples, string classId) : base(new ObservableCollection <string>()) { this.classId = classId; this.firstExamples = firstExamples; this.ClassIndexes = new ObservableCollection <SubClassViewModel>(); if (!unitsXmlIoController.DoesFileExist(classId)) { Logger.Instance.WriteLog($"ClassFunctionalViewModel: Aborted load: {classId} does not exist"); this.classData = new ClassDataTypeViewModel(classId); return; } this.RefreshAll = new CommonCommand( this.RefreshAllUnits, () => true); ClassDetails classFile = unitsXmlIoController.Read( classId); this.classData = new ClassDataTypeViewModel( classFile); if (this.classData == null) { Logger.Instance.WriteLog($"ClassFunctionalViewModel: Aborted load: {classId} does not exist"); return; } this.classData.InitaliseSubClassIndex(); this.SubClasses = this.classData.SubClassNumbers; if (this.SubClasses.Count > 0) { this.SubClassIndex = 0; } this.PropertyChanged += UpdateProperties; this.LoadUnits(); }
//private IndividualUnitIOController individualUnitIoController; /// <summary> /// Creates a new instance of the class index form /// </summary> /// <param name="mainForm">Main form</param> /// <param name="unitsIoController">units IO Controller</param> public ClassIndexViewModel( UnitsIOController unitsIoController, UnitsXmlIOController unitsXmlIoController, FirstExampleManager firstExamples) { this.unitsIoController = unitsIoController; this.unitsXmlIoController = unitsXmlIoController; //this.individualUnitIoController = individualUnitIoController; this.firstExamples = firstExamples; this.ItemsGroup = new ObservableCollection <ClassIndexGroupViewModel>(); this.inConfigurationMode = false; this.AddControls(); }
/// <summary> /// Calculate the location state /// </summary> /// <param name="location">location to check</param> /// <param name="id">journey id</param> /// <param name="firstExamples">first example manager</param> /// <returns>current location state</returns> private ComponentState CalculateLocationState( string location, IJnyId id, FirstExampleManager firstExamples) { if (firstExamples.IsCopLocation(location, id, LocalListType.complete)) { return(ComponentState.Cop); } else if (firstExamples.IsCopLocation(location, id, LocalListType.annual)) { return(ComponentState.CopYear); } else { return(ComponentState.None); } }
/// <summary> /// Initialises a new instance of the <see cref="ConfigViewModel"/> class. /// </summary> /// <param name="groupsAndClassesIoController">IO controller</param> public ConfigViewModel( IGroupsAndClassesIOController groupsAndClassesIoController, FirstExampleManager firstExamples) { this.groupsAndClassesIoController = groupsAndClassesIoController; this.firstExamples = firstExamples; this.PopulateYearCollection(); this.PopulateOldNumbersAvailable(); if (this.YearsCollection.Count > 0) { this.yearsIndex = this.YearsCollection.Count - 1; } this.CloseCmd = new CommonCommand(this.CloseWindow); this.RefreshYearCmd = new CommonCommand(this.RefreshYear); this.RefreshAllCmd = new CommonCommand(this.RefreshAll); this.ConfigClsCmd = new CommonCommand(this.ConfigCls); this.ConfigStnCmd = new CommonCommand(this.ConfigStn); this.UpdatePreviousIdCountCmd = new CommonCommand(this.UpdatePreviousIdCount); }
/// <summary> /// Initialises a new instance of the <see cref="MainWindowViewModel"/> class. /// </summary> /// <param name="unitsIoController">< /// Unit input output controller /// /param> /// <param name="unitsXmlIoController"> /// Unit (xml) input output controller /// </param> /// <param name="firstExamples"> /// First examples manager /// </param> public MainWindowViewModel( UnitsIOController unitsIoController, UnitsXmlIOController unitsXmlIoController, FirstExampleManager firstExamples) { this.unitsIoController = unitsIoController; this.unitsXmlIoController = unitsXmlIoController; this.firstExamples = firstExamples; this.groupsAndClassesIoController = new GroupsAndClassesIOController(); AddEditJnyDetailsCommand = new CommonCommand(this.ShowAddEditJnyDetailsWindow); AnalysisCommand = new CommonCommand(this.ShowAnalysisWindow); ConfigurationCommand = new CommonCommand(this.ShowConfigurationWindow); ExitCommand = new CommonCommand(this.ExitProgram); OpenLogCommand = new CommonCommand(this.ShowLog); OpenLogFolderCommand = new CommonCommand(this.ShowLogFolder); ShowClassIndexCommand = new CommonCommand(this.ShowClassIndexWindow); ShowJnyDetailsCommand = new CommonCommand(this.ShowJnyDetailsWindow); ShowInputDataCommand = new CommonCommand(this.ShowInputWindow); this.inputWindow = null; }
/// <summary> /// Initialises a new instance of the <see cref="JourneyViewModel"/> class. /// </summary> /// <param name="modelJourney"></param> /// <param name="firstExamples"></param> public JourneyViewModel( FirstExampleManager firstExamples, string parentUnit, string journeyNumber, string from, string to, string route, DateTime date, MilesChains distance, string unitOne, string unitTwo = "", string unitThree = "", string unitFour = "") { this.firstExamples = firstExamples; this.parentUnit = parentUnit; this.JnyId = new JnyId( date, journeyNumber); this.From = from; this.To = to; this.Route = route; this.Distance = distance; this.UnitOne = unitOne; this.UnitTwo = unitTwo; this.UnitThree = unitThree; this.UnitFour = unitFour; this.FromState = ComponentState.Unknown; this.ToState = ComponentState.Unknown; this.UnitOneState = ComponentState.Unknown; this.UnitTwoState = ComponentState.Unknown; this.UnitThreeState = ComponentState.Unknown; this.UnitFourState = ComponentState.Unknown; }
/// <summary> /// Calculate the unit state /// </summary> /// <param name="unit">unit to check</param> /// <param name="id">journey id</param> /// <param name="firstExamples">first example manager</param> /// <param name="parent"> /// Used where this journey is set against a specific unit. This is the id of that unit /// </param> /// <returns>current unit state</returns> private ComponentState CalculateUnitState( string unit, IJnyId id, FirstExampleManager firstExamples, string parent) { if (string.Compare(unit, parent) == 0) { return(ComponentState.CurrentUnit); } if (firstExamples.IsCopNumber(unit, id, LocalListType.complete)) { return(ComponentState.Cop); } else if (firstExamples.IsCopNumber(unit, id, LocalListType.annual)) { return(ComponentState.CopYear); } else { return(ComponentState.None); } }