/// <summary> /// Writes this program's user input into XML. /// </summary> /// <param name="printerViewModel"></param> /// <param name="printViewModel"></param> /// <param name="gCodeManagerViewModel"></param> /// <returns></returns> public string SerializeModiPrint(PrinterViewModel printerViewModel, PrintViewModel printViewModel, GCodeManagerViewModel gCodeManagerViewModel) { using (base._stringWriter = new StringWriter()) { using (base._xmlWriter = XmlWriter.Create(base._stringWriter, base._xmlWriterSettings)) { //Outmost element should be "ModiPrint". base._xmlWriter.WriteStartElement("ModiPrint"); //GCode. _gCodeManagerXMLSerializerModel.SerializeGCodeManager(base._xmlWriter, _gCodeManagerViewModel); //Printer. //It's very important to set the Printer before the Print, or else a lot of Printer equipment will not be found to set the Print. _printerXMLSerializerModel.SerializePrinter(base._xmlWriter, _printerViewModel); //Print. _printXMLSerializerModel.SerializePrint(base._xmlWriter, _printViewModel); //End outmost element "ModiPrint". base._xmlWriter.WriteEndElement(); } return(base._stringWriter.ToString()); } }
private PrinterViewModel BuildViewModel(IList <ConversionProfile> profiles = null) { _printerMappingsProvider = Substitute.For <ICurrentSettings <ObservableCollection <PrinterMapping> > >(); _profilesProvider = Substitute.For <ICurrentSettings <ObservableCollection <ConversionProfile> > >(); _printerMappingsProvider.Settings.Returns(_ => _settings.ApplicationSettings.PrinterMappings); _profilesProvider.Settings.Returns(_ => _settings.ConversionProfiles); var settingsProvider = Substitute.For <ISettingsProvider>(); settingsProvider.Settings.Returns(_ => _settings); var printerHelper = Substitute.For <IPrinterHelper>(); printerHelper.GetApplicablePDFCreatorPrinter(Arg.Any <string>(), Arg.Any <string>()).Returns("PDFCreator"); var list = new ObservableCollection <ConversionProfile>(); if (profiles != null && profiles.Count > 0) { foreach (var conversionProfile in profiles) { list.Add(conversionProfile); } } _profilesProvider.Settings.Returns(list); var viewModel = new PrinterViewModel(_printerProvider, settingsProvider, _printerMappingsProvider, _profilesProvider, _printerActionAssistant, null, new DesignTimeTranslationUpdater(), printerHelper, null); viewModel.MountView(); return(viewModel); }
public async Task <ActionResult> Create(PrinterViewModel printer) { if (!ModelState.IsValid) { return(View(printer)); } if (!string.IsNullOrEmpty(printer.Ip) && !StaticData.IsIp(printer.Ip)) { ModelState.AddModelError(string.Empty, "Неправильный IP-адрес: " + printer.Ip + "!"); return(View(printer)); } var newPrinter = new Printer { Name = printer.Name, Ip = printer.Ip, Place = printer.Place, Department = await _db.Departments.FindAsync(printer.DepartmentId) }; _db.Printers.Add(newPrinter); foreach (var cartridge in printer.CartridgeIds .Where(c => c != null) .Distinct() .Select(cartridgeId => _db.Items.FirstOrDefault(c => c.Id == cartridgeId)) .Where(cartridge => cartridge != null)) { cartridge.Printers.Add(newPrinter); newPrinter.Cartridges.Add(cartridge); } await _db.SaveChangesAsync(); return(RedirectToAction("Index")); }
// GET: Printers/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var printer = await _db.Printers.FindAsync(id); if (printer == null) { return(HttpNotFound()); } var printerModel = new PrinterViewModel { Id = printer.Id, Name = printer.Name, Ip = printer.Ip, Place = printer.Place, DepartmentId = printer.Department.Id, }; foreach (var cartridge in printer.Cartridges) { printerModel.CartridgeIds.Add(cartridge.Id); } return(View(printerModel)); }
async private void ToolbarItem_Save_Activated(object sender, EventArgs e) { var response = await DisplayAlert("Warning", "Are you sure you want to Create this Printer?", "Yes", "No"); if (response) { var exists = await PrinterViewModel.SearchByName(ent_Name.Text); if (exists != null) { await DisplayAlert("ERROR", "Name already Used. Please choose another", "OK"); } else { var status = await StatusViewModel.SearchByName(Status_Picker.Text); var printColor = await PrintColorViewModel.SearchByName(Color_Picker.Text); var printer = new PrinterViewModel() { Name = ent_Name.Text, StatusID = status.ID, ColorID = printColor.ID, Status = status, PrintColor = printColor, ProjectsQueued = 0, }; await PrinterViewModel.Insert(printer); } } }
public CalibrationViewModel(CalibrationModel CalibrationModel, ManualControlViewModel ManualControlViewModel, RealTimeStatusDataViewModel RealTimeStatusDataViewModel, PrinterViewModel PrinterViewModel) { _calibrationModel = CalibrationModel; _manualControlViewModel = ManualControlViewModel; _realTimeStatusDataViewModel = RealTimeStatusDataViewModel; _printerViewModel = PrinterViewModel; }
/// <summary> /// Writes Printer properties into XML. /// </summary> /// <param name="xmlWriter"></param> /// <param name="printerViewModel"></param> public void SerializePrinter(XmlWriter xmlWriter, PrinterViewModel printerViewModel) { //Outmost element should be "Printer". xmlWriter.WriteStartElement("Printer"); //Output XML for Axes. foreach (AxisViewModel axisViewModel in printerViewModel.AxisViewModelList) { _axisXMLSerializerModel.SerializeAxis(xmlWriter, axisViewModel); } //Output XML for Printheads. foreach (PrintheadViewModel printheadViewModel in printerViewModel.PrintheadViewModelList) { _printheadXMLSerializerModel.SerializePrinthead(xmlWriter, printheadViewModel); } //Number of Z Axes Created. xmlWriter.WriteElementString("ZAxesCreatedCount", printerViewModel.ZAxesCreatedCount.ToString()); //Number of Printheads Created. xmlWriter.WriteElementString("PrintheadsCreatedCount", printerViewModel.PrintheadsCreatedCount.ToString()); //Close outmost element "Printer". xmlWriter.WriteEndElement(); }
async private void PrinterListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem == null) { return; } var prichild = e.SelectedItem as PrinterViewModel; prichild = await PrinterViewModel.PopulateForeignKeys(prichild); string action = await DisplayActionSheet("What would you like to know about the Printer?" , "Projects Queued" , "Printer Color"); switch (action) { case "Projects Queued": await DisplayAlert("Projects Queued" , "Here the number of projects queued for this printer today: " + prichild.Requests.Count, "OK"); break; case "Printer Color": await DisplayAlert("Printer Color" , "This printer only prints in " + prichild.PrintColor.Name, "OK"); break; } PrinterListView.SelectedItem = null; }
/// <summary> /// Deserialize a Printhead. /// </summary> /// <param name="xmlReader"></param> /// <param name="printerViewModel"></param> private void LoadPrinthead(XmlReader xmlReader, PrinterViewModel printerViewModel) { //Name of the new Printhead. string printheadName = xmlReader.GetAttribute("Name"); //Reference of the new Printhead that will be deserialized. PrintheadViewModel newPrinthead = null; //See if there is a matching Printhead. bool matchingPrinthead = false; foreach (PrintheadViewModel printheadViewModel in printerViewModel.PrintheadViewModelList) { if (printheadViewModel.Name == printheadName) { matchingPrinthead = true; newPrinthead = printheadViewModel; break; } } //If there is no matching Printhead, then create a new Printhead. if (matchingPrinthead == false) { newPrinthead = printerViewModel.AddPrinthead(printheadName); } //Loads the new Printhead with properties from XML and remembers the newly deserialized Printhead. if (newPrinthead != null) { _printheadXMLDeserializerModel.DeserializePrinthead(xmlReader, newPrinthead); _deserializedPrintheadViewModelsList.Add(newPrinthead); } }
/// <summary> /// Remove all Printheads that were not just deserialized. /// </summary> /// <param name="printerViewModel"></param> private void RemoveNonDeserializedPrintheads(PrinterViewModel printerViewModel) { //List of Printheads that need to be removed. //Printheads need to be removed if they are a part of the Printer but were not just deserialized. List <PrintheadViewModel> nonDeserializedPrintheadViewModelsList = new List <PrintheadViewModel>(); //Check if existing Printhead is a deserialized Printhead. foreach (PrintheadViewModel existingPrintheadViewModel in printerViewModel.PrintheadViewModelList) { bool wasDeserialized = false; foreach (PrintheadViewModel deserializedPrintheadViewModel in _deserializedPrintheadViewModelsList) { if (existingPrintheadViewModel.Name == deserializedPrintheadViewModel.Name) { wasDeserialized = true; break; } } //If existing Printhead was not a deserialized Material, mark it for removal. if (wasDeserialized == false) { nonDeserializedPrintheadViewModelsList.Add(existingPrintheadViewModel); } } //Remove all non-deserialized Printheads. foreach (PrintheadViewModel nonDeserializedPrinthead in nonDeserializedPrintheadViewModelsList) { printerViewModel.RemovePrinthead(nonDeserializedPrinthead.Name); } }
/// <summary> /// Remove all Axes that were not just deserialized. /// </summary> /// <param name="printerViewModel"></param> private void RemoveNonDeserializedAxes(PrinterViewModel printerViewModel) { //List of Axes that need to be removed. //Axes need to be removed if they are a part of the Printer but were not just deserialized. List <AxisViewModel> nonDeserializedZAxisViewModelsList = new List <AxisViewModel>(); //Check if existing Axis is a deserialized Axis. foreach (AxisViewModel existingAxisViewModel in printerViewModel.ZAxisViewModelList) { bool wasDeserialized = false; foreach (AxisViewModel deserializedAxisViewModel in _deserializedAxisViewModelsList) { if (existingAxisViewModel.Name == deserializedAxisViewModel.Name) { wasDeserialized = true; break; } } //If existing Axis was not a deserialized Axis, mark it for removal. if (wasDeserialized == false) { nonDeserializedZAxisViewModelsList.Add(existingAxisViewModel); } } //Remove all non-deserialized Axes. foreach (AxisViewModel nonDeserializedZAxis in nonDeserializedZAxisViewModelsList) { printerViewModel.RemoveZAxis(nonDeserializedZAxis.Name); } }
public RealTimeStatusDataViewModel(RealTimeStatusDataModel RealTimeStatusDataModel, PrinterViewModel PrinterViewModel, SerialCommunicationCommandSetsModel SerialCommunicationCommandSetsModel, ErrorListViewModel ErrorListViewModel) { _realTimeStatusDataModel = RealTimeStatusDataModel; _printerViewModel = PrinterViewModel; _serialCommunicationCommandSetsModel = SerialCommunicationCommandSetsModel; _errorListViewModel = ErrorListViewModel; Initialize(); //Subscribe to events. _realTimeStatusDataModel.RecordSetAxisExecuted += new RecordSetAxisExecutedEventHandler(UpdateRecordSetAxis); _realTimeStatusDataModel.RecordSetMotorizedPrintheadExecuted += new RecordSetMotorizedPrintheadExecutedEventHandler(UpdateSetPrinthead); _realTimeStatusDataModel.RecordSetValvePrintheadExecuted += new RecordSetValvePrintheadExecutedEventHandler(UpdateSetPrinthead); _realTimeStatusDataModel.RecordMoveAxesExecuted += new RecordMoveAxesExecutedEventHandler(UpdateRecordMoveAxes); _realTimeStatusDataModel.RecordMotorizedPrintWithMovementExecuted += new RecordMotorizedPrintWithMovementExecutedEventHandler(UpdateRecordMotorizedPrintWithMovement); _realTimeStatusDataModel.RecordValvePrintWithMovementExecuted += new RecordValvePrintWithMovementExecutedEventHandler(UpdateRecordValvePrintWithMovement); _realTimeStatusDataModel.RecordMotorizedPrintWithoutMovementExecuted += new RecordMotorizedPrintWithoutMovementExecutedEventHandler(UpdateRecordMotorizedPrintWithoutMovement); _realTimeStatusDataModel.RecordValvePrintWithoutMovementExecuted += new RecordValvePrintWithoutMovementExecutedEventHandler(UpdateRecordValvePrintWithoutMovement); _realTimeStatusDataModel.RecordValveCloseExecuted += new RecordValveCloseExecutedEventHandler(UpdateRecordValveClose); _realTimeStatusDataModel.TaskQueuedMessagesUpdated += new TaskQueuedMessagesUpdatedEventHandler(UpdateTaskQueuedMessages); _realTimeStatusDataModel.ErrorMessagesUpdated += new ErrorMessagesUpdatedEventHandler(UpdateErrorMessages); _realTimeStatusDataModel.RecordLimitExecuted += new RecordLimitExecutedEventHandler(UpdatePositions); _realTimeStatusDataModel.RealTimeStatusDataAborted += new RealTimeStatusDataAbortedEventHandler(Abort); _serialCommunicationCommandSetsModel.CommandSetPositionChanged += new CommandSetPositionChangedEventHandler(UpdatePositions); }
public object GetInfo([FromUri] PrinterViewModel model) { LogUtil.Info("执行获取打印机信息请求..."); var result = SingleInstance <PrinterBLL> .Instance.GetPrinterInfo(base.CurrId, model.PrinterCode.ToUpper()); return(OK(result)); }
public object DoUnBind([FromBody] PrinterViewModel model) { LogUtil.Info("执行解除打印机绑定请求..."); var result = SingleInstance <PrinterBLL> .Instance.DoUnBindShopPrinter(base.CurrId, model.PrinterCode.ToUpper()); return(OK(result)); }
public IActionResult PrinterList() { var model = new PrinterViewModel(); model.Printers = _printerRepository.GetAllPrinters().Where(o => o.Printer_Model != "NA").ToList(); return(View(model)); }
public IActionResult GetPrinter(int printerID) { var model = new PrinterViewModel(); model.PrinterSelected = _printerRepository.GetPrinter(printerID); return(Json(model)); }
public IActionResult PrinterDelete() { var model = new PrinterViewModel(); model.PrinterReturnByName = _printerRepository.GetAllPrinters().Select(o => new SelectListItem(o.Printer_Name, o.Printer_ID.ToString())); return(View(model)); }
public ActionResult LoadPrintData(PrinterViewModel viewModel) { PrinterViewModel model; model = BindPrinterViewModel(viewModel.TypeId, viewModel.Type, viewModel.Ids, viewModel.TemplateName); TempData["PrinterViewModel"] = model; return(PartialView("_PrintList", model)); }
public PrinterXMLDeserializerModel(GPIOPinListsViewModel GPIOPinListsViewModel, PrinterViewModel PrinterViewModel, ErrorListViewModel ErrorListViewModel) : base(ErrorListViewModel) { _gPIOPinListsViewModel = GPIOPinListsViewModel; _printerViewModel = PrinterViewModel; _axisXMLDeserializerModel = new AxisXMLDeserializerModel(_printerViewModel, base._errorListViewModel); _printheadXMLDeserializerModel = new PrintheadXMLDeserializerModel(_printerViewModel, base._errorListViewModel); }
public object GetConfigs([FromUri] PrinterViewModel model) { LogUtil.Info("执行获取打印场景设置请求..."); var result = SingleInstance <PrinterBLL> .Instance.GetShopPrinterConfigList(base.CurrId, model.PrinterCode.ToUpper(), BusinessType.Waimai); return(OK(result)); }
public async Task <ActionResult> Edit(PrinterViewModel printer) { if (!ModelState.IsValid) { return(View(printer)); } if (!string.IsNullOrEmpty(printer.Ip) && !StaticData.IsIp(printer.Ip)) { ModelState.AddModelError(string.Empty, "Неправильный IP-адрес: " + printer.Ip + "!"); return(View(printer)); } var editItem = await _db.Printers.FindAsync(printer.Id); if (editItem == null) { return(HttpNotFound()); } editItem.Name = printer.Name; editItem.Ip = printer.Ip; editItem.Place = printer.Place; var department = await _db.Departments.FindAsync(printer.DepartmentId); if (department == null) { return(View(printer)); } editItem.Department = department; //if (department.Printers.FirstOrDefault(p => p.Id == printer.Id) == null) //{ // department.Printers.Add(editItem); // _db.Entry(department).State = EntityState.Modified; //} foreach (var cartridge in printer.CartridgeIds .Select(cartridgeId => _db.Items.FirstOrDefault(c => c.Id == cartridgeId)) .Where(cartridge => cartridge != null)) { if (cartridge.Printers.FirstOrDefault(p => p.Id == printer.Id) == null) { cartridge.Printers.Add(editItem); _db.Entry(cartridge).State = EntityState.Modified; } if (editItem.Cartridges.FirstOrDefault(c => c.Id == cartridge.Id) == null) { editItem.Cartridges.Add(cartridge); } } foreach (var cartridge in editItem.Cartridges.ToList() .Where(cartridge => printer.CartridgeIds.FirstOrDefault(c => c == cartridge.Id) == null)) { editItem.Cartridges.Remove(cartridge); cartridge.Printers.Remove(cartridge.Printers.FirstOrDefault(p => p.Id == printer.Id)); } _db.Entry(editItem).State = EntityState.Modified; await _db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async void RefreshPrinterListView() { //await Helper.AzureAppServiceHelper.SyncAsync(); PrinterListView.IsRefreshing = true; var pri = await PrinterViewModel.GetAll(); _printers = new ObservableCollection <PrinterViewModel>(pri); PrinterListView.ItemsSource = _printers; PrinterListView.IsRefreshing = false; }
public SaveLoadViewModel(GCodeManagerViewModel GCodeManagerViewModel, PrinterViewModel PrinterViewModel, PrintViewModel PrintViewModel, ErrorListViewModel ErrorListViewModel) { _gCodeManagerViewModel = GCodeManagerViewModel; _printerViewModel = PrinterViewModel; _printViewModel = PrintViewModel; _errorListViewModel = ErrorListViewModel; _modiPrintXMLSerializerModel = new ModiPrintXMLSerializerModel(_gCodeManagerViewModel, _printerViewModel, _printViewModel, _errorListViewModel); _modiPrintXMLDeserializerModel = new ModiPrintXMLDeserializerModel(_gCodeManagerViewModel, _printerViewModel, _printerViewModel.GPIOPinListsViewModel, _printViewModel, _errorListViewModel); }
protected override async void OnAppearing() { base.OnAppearing(); var StringList = new List <string>(); foreach (var p in await PrinterViewModel.GetAll()) { StringList.Add(p.Name); } Printer_ListView.ItemsSource = StringList; }
public RealTimeStatusSerialInterpreterModel(SerialCommunicationMainModel SerialCommunicationMainModel, PrinterModel PrinterModel, PrinterViewModel PrinterViewModel, RealTimeStatusDataModel RealTimeStatusDataModel, ErrorListViewModel ErrorListViewModel) { _serialCommunicationMainModel = SerialCommunicationMainModel; _printerModel = PrinterModel; _printerViewModel = PrinterViewModel; _realTimeStatusDataModel = RealTimeStatusDataModel; _errorListViewModel = ErrorListViewModel; _serialCommunicationMainModel.SerialCommunicationMessageReceived += new SerialCommunicationMessageReceivedEventHandler(SerialCommunicationMessageReceived); }
public virtual ActionResult PrintPallet(PrinterViewModel model) { //TC 33 : Enter empty on print pallet screen if (string.IsNullOrEmpty(model.Scan)) { return(RedirectToAction(MVC_BoxPick.BoxPick.Home.AcceptPallet())); } //TC 34 : Enter invalid string on Print Pallet screen if (!model.PalletToPrint.Equals(model.Scan)) { this.AddStatusMessage("The confirmation pallet did not match the original pallet."); } //Sent to pallet scan if (!ModelState.IsValid) { return(RedirectToAction(MVC_BoxPick.BoxPick.Home.AcceptPallet())); } try { string labelPrinter = string.Empty; string printers = _repos.Value.GetPrinter(model.PalletToPrint); //TC 35 : When no printer found if (string.IsNullOrWhiteSpace(printers)) { ModelState.AddModelError("", "No printer found, Please contact your system administrator"); } else { string[] printer = printers.Trim().Split(','); if (string.IsNullOrEmpty(printer[0])) { ModelState.AddModelError("", "Label printer not found, Please contact your system administrator"); } else { labelPrinter = printer[0]; } } if (ModelState.IsValid) { _repos.Value.Print(model.PalletToPrint, labelPrinter); this.AddStatusMessage(string.Format("Pallet {0} printed on {1} printer.", model.PalletToPrint, labelPrinter)); } } catch (DbException ex) { ModelState.AddModelError("", ex.Message); } return(RedirectToAction(MVC_BoxPick.BoxPick.Home.AcceptPallet())); }
public ModiPrintXMLSerializerModel(GCodeManagerViewModel GCodeManagerViewModel, PrinterViewModel PrinterViewModel, PrintViewModel PrintViewModel, ErrorListViewModel ErrorListViewModel) : base(ErrorListViewModel) { //ModiPrint parts. _gCodeManagerViewModel = GCodeManagerViewModel; _printerViewModel = PrinterViewModel; _printViewModel = PrintViewModel; //XML Serializers. _gCodeManagerXMLSerializerModel = new GCodeManagerXMLSerializerModel(); _printerXMLSerializerModel = new PrinterXMLSerializerModel(); _printXMLSerializerModel = new PrintXMLSerializerModel(); }
public MainViewModel() { //Error Handling. _errorListViewModel = new ErrorListViewModel(); //Printer Model. _printerModel = new PrinterModel(); //Print Model. _printModel = new PrintModel(_printerModel); //Serial Communication Incoming and Outgoing Message Interpreter. _realTimeStatusDataModel = new RealTimeStatusDataModel(_printerModel); //Serial Communication. _serialCommunicationOutgoingMessagesModel = new SerialCommunicationOutgoingMessagesModel(); _serialCommunicationMainModel = new SerialCommunicationMainModel(_serialCommunicationOutgoingMessagesModel, _printerModel, _printModel, _realTimeStatusDataModel, _errorListViewModel); _serialMessageDisplayViewModel = new SerialMessageDisplayViewModel(); _serialCommunicationViewModel = new SerialCommunicationViewModel(_serialCommunicationMainModel, _serialCommunicationOutgoingMessagesModel, _serialMessageDisplayViewModel); //Printer View Model. _printerViewModel = new PrinterViewModel(_printerModel, _serialCommunicationMainModel.SerialCommunicationCommandSetsModel); //Print View Model. _printViewModel = new PrintViewModel(_printModel, _serialMessageDisplayViewModel); //Real Time Status. _realTimeStatusSerialInterpreterModel = new RealTimeStatusSerialInterpreterModel(_serialCommunicationMainModel, _printerModel, _printerViewModel, _realTimeStatusDataModel, _errorListViewModel); _realTimeStatusDataViewModel = new RealTimeStatusDataViewModel(_realTimeStatusDataModel, _printerViewModel, _serialCommunicationMainModel.SerialCommunicationCommandSetsModel, _errorListViewModel); //Manual Commmands and Calibration. _manualControlModel = new ManualControlModel(_printerModel, _serialCommunicationOutgoingMessagesModel, _realTimeStatusDataModel, _errorListViewModel); _calibrationModel = new CalibrationModel(_realTimeStatusDataModel, _printerModel, _serialCommunicationOutgoingMessagesModel, _errorListViewModel); _manualControlViewModel = new ManualControlViewModel(_manualControlModel, _realTimeStatusDataViewModel, _printerViewModel); _calibrationViewModel = new CalibrationViewModel(_calibrationModel, _manualControlViewModel, _realTimeStatusDataViewModel, _printerViewModel); //GCode. _uploadedGCodeModel = new GCodeModel(); _gCodeFileManagerModel = new GCodeFileManagerModel(_uploadedGCodeModel, _errorListViewModel); _gCodeConverterModel = new GCodeConverterModel(_printerModel, _printModel, _realTimeStatusDataModel, _errorListViewModel); _gcodeManagerViewModel = new GCodeManagerViewModel(_gCodeFileManagerModel, _gCodeConverterModel, _printViewModel); //Printing. _printExecuteViewModel = new PrintExecuteViewModel(_gcodeManagerViewModel, _realTimeStatusDataModel, _calibrationViewModel, _serialCommunicationViewModel, _serialCommunicationOutgoingMessagesModel, _serialMessageDisplayViewModel, _printViewModel); //Settings. _saveLoadViewModel = new SaveLoadViewModel(_gcodeManagerViewModel, _printerViewModel, _printViewModel, _errorListViewModel); //Unset Main Window. _unsetMainViewModel = new UnsetMainViewModel(); }
/// <summary> /// Loads saved XML user inputs containing properties of the Printer, Print, and GCode. /// </summary> /// <param name="xml"></param> /// <param name="printerViewModel"></param> /// <param name="printViewModel"></param> /// <param name="gCodeManagerViewModel"></param> public void DeserializeModiPrint(string xml, PrinterViewModel printerViewModel, PrintViewModel printViewModel, GCodeManagerViewModel gCodeManagerViewModel) { using (base._stringReader = new StringReader(xml)) { using (base._xmlReader = XmlReader.Create(base._stringReader, base._xmlReaderSettings)) { //Ensure that the outmost element is "ModiPrint". if (!(base._xmlReader.Read()) || !(base._xmlReader.Name == "ModiPrint") || !(base._xmlReader.NodeType == XmlNodeType.Element)) { return; } //Read through each line of the XML. while (base._xmlReader.Read()) { //Skip through newlines (this program's XML Writer uses newlines). if ((base._xmlReader.Name != "\n") && (!String.IsNullOrWhiteSpace(base._xmlReader.Name))) { //End method if the end of "ModiPrint" element is reached. if ((base._xmlReader.Name == "ModiPrint") && (base._xmlReader.NodeType == XmlNodeType.EndElement)) { return; } //Deserialize and populate each property of the Print. switch (base._xmlReader.Name) { case "GCodeManager": _gCodeManagerXMLDeserializerModel.DeserializeGCode(base._xmlReader, _gCodeManagerViewModel); break; case "Printer": _printerXMLDeserializerModel.DeserializePrinter(base._xmlReader, _printerViewModel); break; case "Print": _printXMLDeserializerModel.DeserializePrint(base._xmlReader, _printViewModel); break; default: base.ReportErrorUnrecognizedElement(base._xmlReader); break; } } } } } }
public ModiPrintXMLDeserializerModel(GCodeManagerViewModel GCodeManagerViewModel, PrinterViewModel PrinterViewModel, GPIOPinListsViewModel GPIOPinListsViewModel, PrintViewModel PrintViewModel, ErrorListViewModel ErrorListViewModel) : base(ErrorListViewModel) { //ModiPrint parts. _gCodeManagerViewModel = GCodeManagerViewModel; _printerViewModel = PrinterViewModel; _gPIOPinListsViewModel = GPIOPinListsViewModel; _printViewModel = PrintViewModel; //XML Serializers. _gCodeManagerXMLDeserializerModel = new GCodeManagerXMLDeserializerModel(_errorListViewModel); _printerXMLDeserializerModel = new PrinterXMLDeserializerModel(_gPIOPinListsViewModel, _printerViewModel, _errorListViewModel); _printXMLDeserializerModel = new PrintXMLDeserializerModel(_printerViewModel, _errorListViewModel); }