private void SubscribeToChange() { this.changedScript = null; this.changedScriptUSB = null; TDI.Wrapper.CurrentScriptChangedUSB += scriptChangedUSB; TDI.Wrapper.CurrentScriptChanged += scriptChanged; }
private void PopulateScriptData(ScriptDataModel dataModel) { this.outgoing.Clear(this.scriptItems); this.outgoing.Add(this.scriptItems, dataModel.Items); this.lbCommandListName.Text = dataModel.Display; this.txtCommmand.Text = ""; }
private void UnsubscribeToChange() { this.changedScript = null; this.changedIndex = null; TDI.Wrapper.CurrentScriptChangedEthernet -= scriptChanged; TDI.Wrapper.OnEthernetListChange -= listChange; }
private ScriptDataModel RetrieveData(IIndexItem <DefaultFileExtraInfo> index) { ScriptDataModel data = null; TDI.Wrapper.RetrieveScriptData(index, (d) => { data = d; }, this.AssertErr); Assert.NotNull(data); return(data); }
private Script ToModel(ScriptDataModel from) { return(new Script( from.Id, from.Content, from.Section )); }
private ScriptDataModel Transfer(Script from, ScriptDataModel model) { model.Id = from.Id; model.Section = from.Section; model.Content = from.Content; return(model); }
private void UnsubscribeToChange() { TDI.Wrapper.CurrentScriptChangedUSB -= scriptChangedUSB; TDI.Wrapper.CurrentScriptChanged -= scriptChanged; this.changedScript = null; this.changedScriptUSB = null; // TODO - check other test cases and code. when does specific device script change fire }
private void SaveCmdSet(string name, List <ScriptItem> items, Action onSuccess, OnErr onError) { ScriptDataModel dm = new ScriptDataModel(items) { Display = name }; this.CreateNewScript(name, dm, onSuccess, onError); }
private void LoadExistingHandler(ScriptDataModel dataModel) { this.edName.TextChanged -= this.edName_TextChanged; this.edName.Text = dataModel.Display; this.edName.TextChanged += this.edName_TextChanged; //this.setMode = ScratchMode.Edit; this.scriptDataModel = dataModel; this.lstCmds.ItemsSource = this.scriptDataModel.Items; }
/// <summary>Create a new dummy script template</summary> private void InitializeNewScript() { List <ScriptItem> items = new List <ScriptItem>(); items.Add(new ScriptItem("Command Name 1", "Sample Command Text 1")); items.Add(new ScriptItem("Command Name 2", "Sample Command Text 2")); this.copy = new ScriptDataModel(items) { Display = "Sample Script Name", }; }
private void PopulateScriptList(ScriptDataModel scripts) { this.lstCmds.ItemsSource = null; this.cmds.Clear(); foreach (var script in scripts.Items) { this.cmds.Add(script); } this.lstCmds.ItemsSource = this.cmds; this.lblCmds.Text = scripts.Display; }
private ScriptDataModel RetrieveAndValidate(IIndexItem <DefaultFileExtraInfo> index, string display, List <ScriptItem> expected) { ScriptDataModel s = this.RetrieveData(index); Assert.AreEqual(display, s.Display, "Param Data"); Assert.AreEqual(expected.Count, s.Items.Count, "Item count"); for (int i = 0; i < s.Items.Count; i++) { this.ValidateScriptItem(expected[i], s.Items[i]); } return(s); }
public void GetCurrentScript(CommMedium medium, Action <ScriptDataModel> onSuccess, OnErr onError) { WrapErr.ToErrReport(9999, () => { ErrReport report; WrapErr.ToErrReport(out report, 9999, () => { // Force default creation var x = this.scriptStorage; SettingItems items = this.settings.ReadObjectFromDefaultFile(); ScriptDataModel dm = null; switch (medium) { case CommMedium.Bluetooth: dm = items.CurrentScriptBT; break; case CommMedium.BluetoothLE: dm = items.CurrentScriptBLE; break; case CommMedium.Ethernet: dm = items.CurrentScriptEthernet; break; case CommMedium.Usb: dm = items.CurrentScriptUSB; break; case CommMedium.Wifi: dm = items.CurrentScriptWIFI; break; default: dm = items.CurrentScript; break; } if (dm == null) { if (items.CurrentScript == null) { items.CurrentScript = this.AssureScript(new ScriptDataModel()); } dm = items.CurrentScript; } onSuccess(dm); }); if (report.Code != 0) { onError.Invoke(this.GetText(MsgCode.LoadFailed)); } }); }
protected override void OnAppearing() { App.Wrapper.CurrentSupportedLanguage(this.UpdateLanguage); if (this.index != null) { // Need to load from memory. Only way to know which item of list to modify this.scriptDataModel = App.Wrapper.GetScratch().ScriptCommandSet.ScriptSet; this.scriptItem = App.Wrapper.GetScratch().ScriptCommand.Item; this.edName.Text = this.scriptItem.Display; this.edCmd.Text = this.scriptItem.Command; this.interceptor.Changed = false; } base.OnAppearing(); }
public void T02_Retrieve03_NullIndex() { TestHelpers.CatchUnexpected(() => { var list = this.SetupAndRetrieveData(3); string error = string.Empty; ScriptDataModel dataModel = null; TDI.Wrapper.RetrieveScriptData(null, (dm) => { dataModel = dm; }, (err) => { error = err; }); Assert.AreEqual("Nothing Selected", error); Assert.Null(dataModel); }); }
public void SetCurrentScript(ScriptDataModel data, CommMedium medium, OnErr onError) { ErrReport report; WrapErr.ToErrReport(out report, 2000252, "Failure on SetCurrentScript", () => { this.GetSettings((settings) => { EventHandler <ScriptDataModel> ev = null; switch (medium) { case CommMedium.Bluetooth: settings.CurrentScriptBT = data; ev = this.CurrentScriptChangedBT; break; case CommMedium.BluetoothLE: settings.CurrentScriptBLE = data; ev = this.CurrentScriptChangedBLE; break; case CommMedium.Ethernet: settings.CurrentScriptEthernet = data; ev = this.CurrentScriptChangedEthernet; break; case CommMedium.Usb: settings.CurrentScriptUSB = data; ev = this.CurrentScriptChangedUSB; break; case CommMedium.Wifi: settings.CurrentScriptWIFI = data; ev = this.CurrentScriptChangedWIFI; break; default: settings.CurrentScript = data; ev = this.CurrentScriptChanged; break; } this.SaveSettings(settings, () => { ev?.Invoke(this, data); }, onError); }, onError); }); this.RaiseIfException(report); }
public void T02_Retrieve02_BadIndex() { TestHelpers.CatchUnexpected(() => { var list = this.SetupAndRetrieveData(3); string error = string.Empty; ScriptDataModel dataModel = null; TDI.Wrapper.RetrieveScriptData( new IndexItem <DefaultFileExtraInfo>(Guid.NewGuid().ToString()), (dm) => { dataModel = dm; }, (err) => { error = err; }); Assert.AreEqual("Not Found", error); Assert.Null(dataModel); }); }
/// <summary>On successful retrieval make a copy of the script</summary> /// <param name="dataModel">The script data to dopy</param> private void Delegate_OnRetrieveSuccess(ScriptDataModel dataModel) { this.original = dataModel; // Make a copy of the original to avoid changing it unless OK this.copy = new ScriptDataModel() { Display = this.original.Display, UId = this.original.UId, }; foreach (var item in original.Items) { this.copy.Items.Add(new ScriptItem() { Display = item.Display, Command = item.Command, }); } }
private void AssureScriptDefault(IIndexedStorageManager <ScriptDataModel, DefaultFileExtraInfo> data) { List <IIndexItem <DefaultFileExtraInfo> > index = this.scriptStorage.IndexedItems; if (index.Count == 0) { List <ScriptItem> items = new List <ScriptItem>(); items.Add(new ScriptItem() { Display = "Open door cmd", Command = "OpenDoor" }); items.Add(new ScriptItem() { Display = "Close door cmd", Command = "CloseDoor" }); ScriptDataModel dm = new ScriptDataModel(items) { Display = "Demo open close commands" }; IIndexItem <DefaultFileExtraInfo> idx = new IndexItem <DefaultFileExtraInfo>(dm.UId) { Display = "Demo script", }; data.Store(dm, idx); this.GetSettings( (settings) => { settings.CurrentScript = dm; settings.CurrentScriptBLE = dm; settings.CurrentScriptBT = dm; settings.CurrentScriptEthernet = dm; settings.CurrentScriptUSB = dm; settings.CurrentScriptWIFI = dm; this.SaveSettings(settings, () => { }, (err) => { }); }, (err) => { }); this.CreateHC05AtCmds(() => { }, (err) => { }); } }
private ScriptDataModel AssureScript(ScriptDataModel dataModel) { // TODO - create a temp if (string.IsNullOrWhiteSpace(dataModel.Display)) { dataModel.Display = "TMP Script"; } if (dataModel.Items.Count == 0) { dataModel.Items.Add(new ScriptItem() { Display = "TEMP CMD1", Command = "CMD1", }); dataModel.Items.Add(new ScriptItem() { Display = "TEMP CMD2", Command = "CMD2", }); } return(dataModel); }
public void SetCurrentScript(ScriptDataModel data, OnErr onError) { ErrReport report; WrapErr.ToErrReport(out report, 2000250, "Failure on SetCurrentScript", () => { if (data == null) { onError(this.GetText(MsgCode.SaveFailed)); } else { this.GetSettings((settings) => { settings.CurrentScript = data; this.SaveSettings(settings, () => { if (this.CurrentScriptChanged != null) { this.CurrentScriptChanged(this, data); } }, onError); }, onError); } }); this.RaiseIfException(report); }
private void CurrentScriptChangedHandler(object sender, ScriptDataModel dataModel) { this.PopulateScriptList(dataModel); }
private void scriptChangedUSB(object sender, ScriptDataModel e) { this.changedScriptUSB = e; }
public void CreateNewScript(string display, ScriptDataModel data, Action onSuccess, OnErr onError) { this.CreateNewScript(display, data, idx => onSuccess(), onError); }
public void CreateNewScript(string display, ScriptDataModel data, Action <IIndexItem <DefaultFileExtraInfo> > onSuccess, OnErr onError) { this.Create(display, data, this.scriptStorage, onSuccess, this.RaiseScriptChange, onError); }
private void Wrapper_CurrentScriptChanged(object sender, ScriptDataModel data) { this.PopulateScriptData(data); }
public void SaveScript(IIndexItem <DefaultFileExtraInfo> idx, ScriptDataModel data, Action onSuccess, OnErr onError) { this.Save(this.scriptStorage, idx, data, (obj, idx) => { }, onSuccess, this.RaiseScriptChange, onError); }
private void btnAdd_Clicked(object sender, EventArgs e) { ScriptDataModel dm = new ScriptDataModel(); App.Wrapper.CreateNewScript(dm.Display, dm, this.OnAddSuccess, this.OnErr); }
private void RaiseScriptChange(ScriptDataModel dm) { WrapErr.ToErrReport(9999, () => this.CurrentScriptChanged?.Invoke(this, dm)); }
private void Wrapper_CurrentScriptChanged(object sender, ScriptDataModel e) { this.ReloadList(true); }