private void SubscribeToChange()
 {
     this.changedScript    = null;
     this.changedScriptUSB = null;
     TDI.Wrapper.CurrentScriptChangedUSB += scriptChangedUSB;
     TDI.Wrapper.CurrentScriptChanged    += scriptChanged;
 }
Exemple #2
0
 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);
        }
Exemple #9
0
        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",
            };
        }
Exemple #11
0
 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,
         });
     }
 }
Exemple #19
0
        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);
        }
Exemple #22
0
 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);
 }
Exemple #28
0
        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);
 }