#pragma warning disable 1998 public override async Task <Response> ExecuteAsync(SocketConnection connection) #pragma warning restore 1998 { var topics = ListTopicsCommand.FromBytes(RawData); var topicService = ActivatorUtilities.GetServiceOrCreateInstance <ITopicService>(Dependencies.Configuration.Services); var responseHeader = new Header.Header { Command = CommandType.ModifyTopic, Type = HeaderType.Response, DataLength = 0 }; var res = new Response { Data = new byte[] { }, Header = responseHeader }; if (topics.Count != 2) { res.Data = false.ToBytes(); res.Header.DataLength = res.Data.Length; return(res); } var oldTopc = topics[0]; var newTopc = topics[1]; var result = topicService.Update(oldTopc, newTopc).ToBytes(); res.Data = result; res.Header.DataLength = result.Length; return(res); }
public PKDetectorEventCounter(Header.Header hdr, IValidate v) { this.header = hdr; this.validate = v; InitializeComponent(); foreach (string str in hdr.Events.Keys) if (str.Substring(0, 7) == "**PKDet") EventSelection.Items.Add(str.Substring(7)); //Add to Event selection list EventSelection.SelectedIndex = 0; Comp1.Items.Add("<"); Comp1.Items.Add(">"); Comp1.SelectedIndex = 0; Comp2.Items.Add(">"); Comp2.Items.Add("<"); Comp2.SelectedIndex = 0; }
public static AbstractCommand CreateCommand(Header.Header header, byte[] data) { switch (header.Command) { case CommandType.NewTopic: return(new AddTopicCommand(header, data)); case CommandType.RemoveTopic: return(new RemoveTopicCommand(header, data)); case CommandType.ModifyTopic: return(new ModifyTopicCommand(header, data)); case CommandType.NewPost: return(new NewPostCommand(header, data)); case CommandType.ListTopics: return(new ListTopicsCommand(header, data)); case CommandType.ListPosts: return(new ListPostsCommand(header, data)); case CommandType.UploadPostFile: return(new UploadPostFileCommand(header, data)); case CommandType.AssociatePostWithTopic: return(new AssociatePostWithTopicCommand(header, data)); case CommandType.ListPostsByTopic: return(new ListPostsByTopicCommand(header, data)); case CommandType.RemovePostAndTopicAssociation: return(new RemovePostAndTopicAssociationCommand(header, data)); case CommandType.ModifyPost: return(new ModifyPostCommand(header, data)); case CommandType.RemovePost: return(new RemovePostCommand(header, data)); case CommandType.Exit: break; } return(null); }
public Window2() { Log.writeToLog("Starting FileConverter " + Utilities.getVersionNumber()); Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); dlg.Title = "Open Header file for conversion..."; dlg.DefaultExt = ".hdr"; // Default file extension dlg.Filter = "HDR Files (.hdr)|*.hdr"; // Filter files by extension Nullable<bool> result = dlg.ShowDialog(); if (result == null || result == false) { this.Close(); Environment.Exit(0); } directory = System.IO.Path.GetDirectoryName(dlg.FileName); head = (new HeaderFileReader(dlg.OpenFile())).read(); ED = head.Events; bdf = new BDFEDFFileReader( new FileStream(System.IO.Path.Combine(directory, head.BDFFile), FileMode.Open, FileAccess.Read)); oldSR = bdf.NSamp / bdf.RecordDurationDouble; oldNP = bdf.NSamp; oldNS = bdf.RecordDurationDouble; InitializeComponent(); this.MinHeight = SystemInformation.WorkingArea.Height - 240; this.Title = "Convert " + System.IO.Path.GetFileNameWithoutExtension(dlg.FileName); this.TitleLine.Text = head.Title + " - " + head.Date + " " + head.Time + " S=" + head.Subject.ToString("0000"); _EDEList = ED.Values.ToList<EventDictionaryEntry>(); listView1.SelectedItem = 0; listView1.Focus(); listView1.ItemsSource = EDEList; System.Windows.Data.Binding GVBinding = new System.Windows.Data.Binding(); GVBinding.Source = this; GVBinding.NotifyOnSourceUpdated = true; GVBinding.Path = new PropertyPath("GVList"); GVBinding.Mode = BindingMode.OneWay; listView2.SetBinding(System.Windows.Controls.ListView.ItemsSourceProperty, GVBinding); GVList = EDEList[0].GroupVars; }
public override async Task <Response> ExecuteAsync(SocketConnection connection) { var topicToAdd = FromBytes(RawData); var topicService = ActivatorUtilities.GetServiceOrCreateInstance <ITopicService>(Dependencies.Configuration.Services); var success = await topicService.AddTopicAsync(topicToAdd) > -1; var responseData = success.ToBytes(); var responseHeader = new Header.Header { Command = CommandType.NewTopic, Type = HeaderType.Response, DataLength = 0, }; return(new Response { Data = new byte[] { }, Header = responseHeader }); }
public override async Task <Response> ExecuteAsync(SocketConnection connection) { var topicToDelete = FromBytes(RawData); var topicService = ActivatorUtilities.GetServiceOrCreateInstance <ITopicService>(Dependencies.Configuration.Services); var result = (await topicService.RemoveAsync(topicToDelete.Id))?.ToBytes(); var responseHeader = new Header.Header { Command = CommandType.RemoveTopic, Type = HeaderType.Response, DataLength = result?.Length ?? 0 }; return(new Response { Data = result, Header = responseHeader }); }
#pragma warning disable 1998 public override async Task <Response> ExecuteAsync(SocketConnection connection) #pragma warning restore 1998 { var topicService = ActivatorUtilities .GetServiceOrCreateInstance <ITopicService>(Dependencies.Configuration.Services); var topics = topicService.GetAll(); var data = FromList(topics); var responseHeader = new Header.Header { Command = CommandType.ListTopics, Type = HeaderType.Response, DataLength = data.Length }; return(new Response { Data = data.Length > 0 ? data : new byte[] { }, Header = responseHeader }); }
public EpisodeDescriptionEntry(Header.Header head, IValidate v) { this.hdr = head; this.validate = v; InitializeComponent(); EventDictionary.EventDictionary events = hdr.Events; Event1.Items.Add("Any Event"); Event1.Items.Add("Beginning of file"); Event2.Items.Add("Same Event"); Event2.Items.Add("Next Event (any)"); Event2.Items.Add("Next Event (covered)"); Event3.Items.Add("None"); Event4.Items.Add("Same Event"); foreach (EventDictionary.EventDictionaryEntry ev in events.Values){ Event1.Items.Add(ev); Event2.Items.Add(ev); Event3.Items.Add(ev); Event4.Items.Add(ev); } Event1.SelectedIndex = 0; Event2.SelectedIndex = 0; Event3.SelectedIndex = 0; Event4.SelectedIndex = 0; Event4.IsEnabled = false; Comp1.Items.Add("="); Comp1.Items.Add("!="); Comp2.Items.Add("="); Comp2.Items.Add("!="); _GVspec = ++EDcount; GVSpec.Text = _GVspec.ToString("0"); bool test = false; foreach (string ev in hdr.Events.Keys) if (ev.Substring(0, 7) == "**PKDet") { test = true; break; } //make sure there are PK detector Events present if (!test) AddCounterEvent.IsEnabled = false; }
#pragma warning disable 1998 public override async Task <Response> ExecuteAsync(SocketConnection connection) #pragma warning restore 1998 { var postService = ActivatorUtilities .GetServiceOrCreateInstance <IPostService>(Dependencies.Configuration.Services); var posts = postService.GetAll(); var payload = FromList(posts); var responseHeader = new Header.Header { Command = CommandType.ListPosts, Type = HeaderType.Response, DataLength = payload.Length }; return(new Response { Data = payload, Header = responseHeader }); }
public AssociatePostWithTopicCommand(Header.Header header, byte[] data) : base(header, data) { }
public NewPostCommand(Header.Header header, byte[] data) : base(header, data) { }
public ModifyTopicCommand(Header.Header header, byte[] data) : base(header, data) { }
public RemovePostCommand(Header.Header header, byte[] data) : base(header, data) { }
public ListTopicsCommand(Header.Header header, byte[] data) : base(header, data) { }
public ListPostsByTopicCommand(Header.Header header, byte[] data) : base(header, data) { }
public UploadPostFileCommand(Header.Header header, byte[] data) : base(header, data) { }
/// <summary> /// Links all input Events to a particular dataset in order to make the timing of InputEvents relative /// to the BDF file /// </summary> /// <param name="Head">HDR file reader for the dataset</param> /// <param name="BDF">BDF file reader for the dataset</param> public static void LinkEventsToDataset(Header.Header Head, BDFEDFFileReader BDF) { head = Head; bdf = BDF; }
public AddTopicCommand(Header.Header header, byte[] data) : base(header, data) { }
public Window2() { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open Header file ..."; dlg.DefaultExt = ".hdr"; // Default file extension dlg.Filter = "HDR Files (.hdr)|*.hdr"; // Filter files by extension dlg.InitialDirectory = Properties.Settings.Default.LastDataset; bool result = dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK; if (!result) Environment.Exit(0); headerFileName = System.IO.Path.GetFileNameWithoutExtension(dlg.FileName); directory = System.IO.Path.GetDirectoryName(dlg.FileName); Properties.Settings.Default.LastDataset = directory; CCIUtilities.Log.writeToLog("Starting ASCtoFMConverter " + CCIUtilities.Utilities.getVersionNumber()); head = (new HeaderFileReader(dlg.OpenFile())).read(); ED = head.Events; bdf = new BDFEDFFileReader( new FileStream(System.IO.Path.Combine(directory, head.BDFFile), FileMode.Open, FileAccess.Read)); samplingRate = (int)((double)bdf.NSamp / bdf.RecordDurationDouble); OpenPCommand.InputGestures.Add( new KeyGesture(Key.O, ModifierKeys.Control | ModifierKeys.Shift, "Ctrl+Shift+O")); SavePCommand.InputGestures.Add( new KeyGesture(Key.S, ModifierKeys.Control, "Crtl+S")); ProcessCommand.InputGestures.Add( new KeyGesture(Key.P, ModifierKeys.Control, "Crtl+P")); ExitCommand.InputGestures.Add(new KeyGesture(Key.Q, ModifierKeys.Control, "Crtl+Q")); InitializeComponent(); //***** Set up menu commands and short cuts CommandBinding cbOpenP = new CommandBinding(OpenPCommand, cbOpen_Execute, cbOpen_CanExecute); this.CommandBindings.Add(cbOpenP); CommandBinding cbSaveP = new CommandBinding(SavePCommand, cbSave_Execute, validParams_CanExecute); this.CommandBindings.Add(cbSaveP); CommandBinding cbProcess = new CommandBinding(ProcessCommand, ConvertFM_Click, validParams_CanExecute); this.CommandBindings.Add(cbProcess); CommandBinding cbExit = new CommandBinding(ExitCommand, Done_Click, cbExit_CanExecute); this.CommandBindings.Add(cbExit); this.MinHeight = SystemInformation.WorkingArea.Height - 240; this.EpisodeEntries.Items.Add(new EpisodeDescriptionEntry(head, this)); //include initial episode description this.Title = "Convert " + headerFileName; this.TitleLine.Text = head.Title + " - " + head.Date + " " + head.Time + " S=" + head.Subject.ToString("0000"); if (head.GroupVars != null) { System.Windows.Data.Binding GVBinding = new System.Windows.Data.Binding(); GVBinding.Source = this; GVBinding.NotifyOnSourceUpdated = true; GVBinding.Path = new PropertyPath("GVList"); GVBinding.Mode = BindingMode.OneWay; listView2.SetBinding(System.Windows.Controls.ListView.ItemsSourceProperty, GVBinding); GVList = head.GroupVars.Values.ToList<GVEntry>(); } else GVList = new List<GVEntry>(0); this.Activate(); }
private void CreateBDF_Click(object sender, RoutedEventArgs e) { bw = new BackgroundWorker(); bw.WorkerReportsProgress = true; bw.WorkerSupportsCancellation = true; bw.DoWork+=Utilities.BuildFile; bw.ProgressChanged += bw_ProgressChanged; bw.RunWorkerCompleted += bw_RunWorkerCompleted; StringBuilder sb = new StringBuilder("Signal = "); bool plus = false; foreach (TabItem ti in TermsPanel.Items) { if (plus) sb.Append("+"); Type t = ti.GetType(); if (t == typeof(SineTab)) { sb.Append("Sine"); plus = true; } else if (t == typeof(ConstTab)) { sb.Append("Const"); plus = true; } else if (t == typeof(NoiseTab)) { sb.Append("Noise"); plus = true; } else if (t == typeof(AMTab)) { sb.Append("AM"); plus = true; } else if (t == typeof(FMTab)) { sb.Append("FM"); plus = true; } else if (t == typeof(SqrTab)) { sb.Append("Sqr"); plus = true; } else sb.Append("Error!"); } foreach (EventTab ti in EventsPanel.Items) { if (!(bool)ti.SNone.IsChecked) { if (plus) sb.Append("+"); if ((bool)ti.SImpulse.IsChecked) { sb.Append("Event(Impulse)"); plus = true; } else if ((bool)ti.SDampedSine.IsChecked) { sb.Append("Event(DampedSine)"); plus = true; } else sb.Append("Error!"); } } if (!plus) sb.Append("None"); parameters.LocalSubjectId = sb.ToString(); parameters.window = this; parameters.directoryPath = baseDirectory.Text + folderName.Text; parameters.fileName = folderName.Text; // ***** Set up header and internal events ****** // Header.Header head = new Header.Header(); parameters.head = head; head.SoftwareVersion = "CreateBDFFile " + Assembly.GetExecutingAssembly().GetName().Version.ToString(4); DateTime dt = DateTime.Now; head.Title = "BDF/Event/Electrode files created on " + dt.ToLongDateString(); head.LongDescription = parameters.window.longDesc.Text; head.Experimenter = new List<string>(2); head.Experimenter.Add("James E. Lenz"); head.Experimenter.Add(Environment.UserName); head.Status = parameters.nBits; head.Date = dt.ToString("dd.MM.yy"); head.Time = dt.ToString("HH.mm.ss"); head.Subject = 0; head.Agent = 0; head.Technician = new List<string>(1); head.Technician.Add(Environment.UserName); head.OtherSessionInfo = head.OtherExperimentInfo = null; head.BDFFile = parameters.fileName + ".bdf"; head.EventFile = parameters.fileName + ".evt"; head.ElectrodeFile = parameters.fileName + ".etr"; head.GroupVars = new GroupVarDictionary.GroupVarDictionary(); head.Events = new EventDictionary.EventDictionary(Convert.ToInt32(nBitsTB.Text)); parameters.eventList = new List<Event>(); foreach (EventTab ev in EventsPanel.Items) { EventDictionary.EventDictionaryEntry ede = new EventDictionary.EventDictionaryEntry(); ede.ancillarySize = 0; ede.Description = ev.name.Text + ": " + ((bool)ev.PeriodicRB.IsChecked ? "periodic" : (((bool)ev.UniformRB.IsChecked) ? "uniform" : "Gaussian") + " random"); ede.GroupVars = new List<GroupVarDictionary.GVEntry>(); foreach (GVEntry gv in ev.GVPanel.Items) { GroupVarDictionary.GVEntry gve = new GroupVarDictionary.GVEntry(); gve.Description = gv.name.Text + ((bool)gv.Cyclic.IsChecked ? ": cyclic" : ": random") + " with " + gv.N.Text + " values"; gve.GVValueDictionary = null; head.GroupVars.Add(gv.name.Text, gve); ede.GroupVars.Add(gve); } head.Events.Add(ev.name.Text, ede); Event newEvent = ev.createEventEntry(parameters); newEvent.EDEntry = ede; parameters.eventList.Add(newEvent); } Create.Visibility = Visibility.Collapsed; Cancel.Visibility = Visibility.Visible; Progress.Text = "Starting BDF file creation"; Progress.Visibility = Visibility.Visible; Page1.IsEnabled = false; Page2.IsEnabled = false; Page2Button.IsEnabled = false; bw.RunWorkerAsync(parameters); }
public RemovePostAndTopicAssociationCommand(Header.Header header, byte[] data) : base(header, data) { }
public MainWindow() { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "Open Header file ..."; dlg.DefaultExt = ".hdr"; // Default file extension dlg.Filter = "HDR Files (.hdr)|*.hdr"; // Filter files by extension dlg.InitialDirectory = Properties.Settings.Default.LastDataset; DialogResult result = dlg.ShowDialog(); if (result != System.Windows.Forms.DialogResult.OK) Environment.Exit(0); directory = System.IO.Path.GetDirectoryName(dlg.FileName); Properties.Settings.Default.LastDataset = directory; headerFileName = System.IO.Path.GetFileNameWithoutExtension(dlg.FileName); CCIUtilities.Log.writeToLog("Starting PKDetectorAnalyzer " + CCIUtilities.Utilities.getVersionNumber() + " on " + headerFileName); head = (new HeaderFileReader(dlg.OpenFile())).read(); bdf = new BDFEDFFileReader( new FileStream(System.IO.Path.Combine(directory, head.BDFFile), FileMode.Open, FileAccess.Read)); for (int i = 0; i < bdf.NumberOfChannels; i++) //first see if this file has standard transducer labels if (bdf.transducer(i) == "Analog Input Box") channels.Add(new channelOptions(i, bdf.channelLabel(i))); //if it does, use them as channel choices if (channels.Count == 0) //if it does not, then show all channels for (int i = 0; i < bdf.NumberOfChannels; i++) channels.Add(new channelOptions(i, bdf.channelLabel(i))); AnalogChannelCount = channels.Count; OpenPCommand.InputGestures.Add( new KeyGesture(Key.O, ModifierKeys.Control | ModifierKeys.Shift, "Ctrl+Shift+O")); SavePCommand.InputGestures.Add( new KeyGesture(Key.S, ModifierKeys.Control, "Crtl+S")); ProcessCommand.InputGestures.Add( new KeyGesture(Key.P, ModifierKeys.Control, "Crtl+P")); ExitCommand.InputGestures.Add(new KeyGesture(Key.Q, ModifierKeys.Control, "Crtl+Q")); InitializeComponent(); //***** Set up menu commands and short cuts CommandBinding cbOpenP = new CommandBinding(OpenPCommand, cbOpen_Execute, cbOpen_CanExecute); this.CommandBindings.Add(cbOpenP); CommandBinding cbSaveP = new CommandBinding(SavePCommand, cbSave_Execute, validParams_CanExecute); this.CommandBindings.Add(cbSaveP); CommandBinding cbProcess = new CommandBinding(ProcessCommand, ProcessChannels_Click, validParams_CanExecute); this.CommandBindings.Add(cbProcess); CommandBinding cbExit = new CommandBinding(ExitCommand, Quit_Click, cbExit_CanExecute); this.CommandBindings.Add(cbExit); //***** Set up defaults and other housekeeping Title = headerFileName; TitleLine.Text = directory + System.IO.Path.DirectorySeparatorChar + headerFileName; FNExtension.Text = "PKDetection"; DataContext = this; ChannelItem ci = new ChannelItem(this); ChannelEntries.Items.Add(ci); ci.Channel.SelectedIndex = 0; Process.IsEnabled = true; //have to reenable here -- like checkError(); values are guarenteed valid however this.Activate(); }