public List <COPAveraged> ParseElements(StudyHeader experiment) { List <COPAveraged> COPAverages = new List <COPAveraged>(); Dictionary <string, string> valueDictionary = new Dictionary <string, string>(); foreach (string element in _elements) { valueDictionary = _getValueDict(element); string[] valuesArray = valueDictionary["Values"].Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < valuesArray.Count(); i++) { valuesArray[i] = valuesArray[i].Trim(); valuesArray[i] = valuesArray[i].Replace(',', '.'); } COPAverages.Add( new COPAveraged( valueDictionary["Side"], valueDictionary["BodyPart"], valueDictionary["Unit"], double.Parse(valuesArray[0], CultureInfo.InvariantCulture), double.Parse(valuesArray[1], CultureInfo.InvariantCulture), experiment ) ); } _elements = new List <string>(); return(COPAverages); }
public List <SideForce> ParseElements(StudyHeader expriment) { List <SideForce> parsedSideForces = new List <SideForce>(); Dictionary <string, string> valueDictionary = new Dictionary <string, string>(); foreach (string element in _elements) { valueDictionary = _getValueDict(element); string[] valueArray = valueDictionary["Values"].Split('\t'); for (int i = 0; i < valueArray.Length; i++) { valueArray[i] = valueArray[i].Trim(); valueArray[i] = valueArray[i].Replace(',', '.'); } List <double> valueList = valueArray.Select(x => double.Parse(x, CultureInfo.InvariantCulture)).ToList(); parsedSideForces.Add( new SideForce( valueDictionary["Side"], valueDictionary["BodyPart"], valueList[0], valueList[1], expriment ) ); } _elements = new List <string>(); return(parsedSideForces); }
public List <PressureMeasurement> ParseElements(StudyHeader experiment) { string foot; double force, X, Y; string tempString; string[] array; List <PressureMeasurement> measurements = new List <PressureMeasurement>(); foreach (string element in _elements) { foot = _getFoot(element); tempString = _dumpFoot(element); array = tempString.Split('\t'); for (int i = 0; i < array.Length; i++) { if (array[i] == " - ") { array[i] = "0"; } array[i] = array[i].Replace(',', '.'); } force = Convert.ToDouble(array[0], CultureInfo.InvariantCulture); X = Convert.ToDouble(array[1], CultureInfo.InvariantCulture); Y = Convert.ToDouble(array[2], CultureInfo.InvariantCulture); measurements.Add(new PressureMeasurement(foot, force, X, Y, experiment)); } _elements = new List <string>(); return(measurements); }
public List <StaticParameter> ParseElements(StudyHeader experiment) { List <StaticParameter> parsedParameters = new List <StaticParameter>(); Dictionary <string, string> valueDictionary = new Dictionary <string, string>(); foreach (string element in _elements) { valueDictionary = _getValueDict(element); string[] valueArray = valueDictionary["Values"].Split(new [] { '\t', ' ' }, StringSplitOptions.RemoveEmptyEntries); valueArray[1] = valueArray[1].Replace(',', '.'); string side = null; if (valueArray.Length == 3) { side = valueArray[2]; } parsedParameters.Add( new StaticParameter( valueDictionary["Title"], valueArray[0], side, Convert.ToDouble(valueArray[1], CultureInfo.InvariantCulture), experiment ) ); } _elements = new List <string>(); return(parsedParameters); }
public List <OtherDynamicParameter> ParseElements(StudyHeader experiment) { List <OtherDynamicParameter> otherDynamicParamaters = new List <OtherDynamicParameter>(); List <string> array = new List <string>(); double X, Y; foreach (string element in _elements) { Dictionary <string, string> parsedStrings = _getValueDict(element); array = parsedStrings["Values"].Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries).ToList(); for (int i = 0; i < array.Count; i++) { array[i] = array[i].Replace(',', '.'); } X = Convert.ToDouble(array[0], CultureInfo.InvariantCulture); Y = Convert.ToDouble(array[1], CultureInfo.InvariantCulture); otherDynamicParamaters.Add( new OtherDynamicParameter( parsedStrings["Title"], parsedStrings["Unit"], parsedStrings["Side"], parsedStrings["BodyPart"], X, Y, experiment ) ); } return(otherDynamicParamaters); }
public List <DynamicParameter> ParseElements(StudyHeader experiment) { Dictionary <string, string> parsedStrings = new Dictionary <string, string>(); string[] array; double X, Y; List <DynamicParameter> paramameters = new List <DynamicParameter>(); foreach (string element in _elements) { parsedStrings = _getValueDict(element); array = parsedStrings["RemainingValues"].Split('\t'); for (int i = 0; i < array.Length; i++) { array[i] = array[i].Replace(',', '.'); } X = Convert.ToDouble(array[0], CultureInfo.InvariantCulture); Y = Convert.ToDouble(array[1], CultureInfo.InvariantCulture); paramameters.Add( new DynamicParameter( parsedStrings["Title"], parsedStrings["Unit"], parsedStrings["Side"], X, Y, experiment )); } _elements = new List <string>(); return(paramameters); }
public List <MaxForce> ParseElements(StudyHeader experiment) { Dictionary <string, string> parsedStrings = new Dictionary <string, string>(); string[] array; double X, Y; List <MaxForce> paramameters = new List <MaxForce>(); foreach (string element in _elements) { parsedStrings = _getValueDict(element); double value = Convert.ToDouble(parsedStrings["RemainingValues"].Replace(',', '.'), CultureInfo.InvariantCulture); paramameters.Add( new MaxForce( parsedStrings["Title"], parsedStrings["Unit"], parsedStrings["Side"], value, experiment ) ); } _elements = new List <string>(); return(paramameters); }
public List <ForceOverlay> ParseElements(StudyHeader experiment) { List <ForceOverlay> forceOverlays = new List <ForceOverlay>(); Dictionary <string, string> parsedValues = new Dictionary <string, string>(); string[] array; foreach (string element in _elements) { parsedValues = _getValueDict(element); array = parsedValues["Values"].Split('\t'); for (int i = 0; i < array.Length; i++) { array[i] = array[i].Trim(); array[i] = array[i].Replace(',', '.'); } forceOverlays.Add( new ForceOverlay( parsedValues["Title"], parsedValues["Side"], parsedValues["BodyPart"], Convert.ToInt32(array[0], CultureInfo.InvariantCulture), Convert.ToDouble(array[1], CultureInfo.InvariantCulture), experiment ) ); } _elements = new List <string>(); return(forceOverlays); }
public List <ButterflyParameter> ParseElements(StudyHeader experiment) { Dictionary <string, string> parsedStrings = new Dictionary <string, string>(); string[] array; double value; List <ButterflyParameter> paramameters = new List <ButterflyParameter>(); foreach (string element in _elements) { parsedStrings = _getValueDict(element); if (parsedStrings["Unit"] == "left" || parsedStrings["Unit"] == "right") { parsedStrings["Side"] = parsedStrings["Unit"]; parsedStrings["Unit"] = "NA"; } array = parsedStrings["RemainingValues"].Split('\t'); for (int i = 0; i < array.Length; i++) { array[i] = array[i].Replace(',', '.'); } value = Convert.ToDouble(array[0]); paramameters.Add( new ButterflyParameter( parsedStrings["Title"], parsedStrings["Unit"], parsedStrings["Side"], value, experiment )); } _elements = new List <string>(); return(paramameters); }
public void ParseFiles(string file, PatientStorage patients, ref List <StudyHeader> parsedHeaders, ref Export export, Dictionary <string, bool> launch) { headers.fileName = Path.GetFileNameWithoutExtension(file); using (var stream = File.OpenRead(file)) using (var reader = new StreamReader(stream)) { string line; string mainFlag = "none"; while ((line = reader.ReadLine()) != null) { Match match = Regex.Match(line, @"\[([^)]*)\]"); if (match.Success) { mainFlag = match.Groups[1].Value; continue; } currentStorage = _setupStorage(mainFlag, line); if (currentStorage != null) { currentStorage.AddElement(currentStorage.AdditionalInfo + line); } } } StudyHeader currentExperiment = headers.ParseElements(patients); currentExperiment.TryParseFileNameArray(); parsedHeaders.Add(currentExperiment); if (launch["Preassures"]) { export.DumpValues("Preassures", preassureMeasurements.ParseElements(currentExperiment)); } if (launch["Butterfly Parameters"]) { export.DumpValues("ButterflyParameters", butterflyParameters.ParseElements(currentExperiment)); } if (launch["Other Preassures"]) { export.DumpValues("OtherPreassures", otherPressures.ParseElements(currentExperiment)); } if (launch["Parameters"]) { export.DumpValues("DynamicParameters", parameters.ParseElements(currentExperiment)); } if (launch["Force Overlays"]) { export.DumpValues("ForceOverlays", forceOverlays.ParseElements(currentExperiment)); } if (launch["Max Forces"]) { export.DumpValues("MaxForces", maxForces.ParseElements(currentExperiment)); } if (launch["Other Parameters"]) { export.DumpValues("OtherDynamicParameters", otherParameters.ParseElements(currentExperiment)); } }
private void EditStudy_Click(object sender, System.Windows.RoutedEventArgs e) { if (this.SelectedStudyHeader == null) { MessageDisplay.Show("Please select a Study."); return; } try { #region CHECK FOR OPEN STUDIES foreach (Window window in Application.Current.Windows) { if (window.GetType() != typeof(ControlWindow)) { continue; } UserControlBase controlBase = window.GetPropertyValue("ControlContent").To <UserControlBase>(); if (controlBase.GetType() != typeof(EditStudy)) { continue; } StudyHeader studyHeader = controlBase.GetPropertyValue("SubjectHeader").To <StudyHeader>(); if (studyHeader.StudyHeaderId <= 0) { continue; } window.Focus(); this.CloseIfNotMainWindow(true); return; } #endregion EditStudy edit = new EditStudy(this.SelectedStudyHeader); ControlDialog.Show(this.SelectedStudyHeader.StudyName, edit, "SaveStudy", autoSize: false); this.CloseIfNotMainWindow(true); } catch (Exception err) { ErrorLog.ShowError(err); } }
private static void StudyBookmark_Selected(object sender, RoutedEventArgs e) { try { MenuItem item = (MenuItem)sender; string studyKey = item.Tag.ParseToString(); string[] keySplit = studyKey.Split(new string[] { "||" }, StringSplitOptions.None); int studyHeaderId = keySplit[0].ToInt32(); #region CHECK FOR OPEN STUDIES foreach (Window window in Application.Current.Windows) { if (window.GetType() != typeof(ControlWindow)) { continue; } UserControlBase controlBase = window.GetPropertyValue("ControlContent").To <UserControlBase>(); if (controlBase.GetType() != typeof(EditStudy)) { continue; } StudyHeader studyHeader = controlBase.GetPropertyValue("SubjectHeader").To <StudyHeader>(); if (studyHeader.StudyHeaderId <= 0) { continue; } window.Focus(); return; } #endregion StudyHeaderModel model = BiblesData.Database.GetStudyHeader(studyHeaderId.ToInt32()); EditStudy edit = new EditStudy(model); ControlDialog.Show(model.StudyName, edit, "SaveStudy", autoSize: false); } catch (Exception err) { ErrorLog.ShowError(err); } }
public bool TryEditStudy() { if (this.SelectedStudyHeader == null) { MessageDisplay.Show("Please select a Study."); return(false); } #region CHECK FOR OPEN STUDIES foreach (Window window in Application.Current.Windows) { if (window.GetType() != typeof(ControlWindow)) { continue; } UserControlBase controlBase = window.GetPropertyValue("ControlContent").To <UserControlBase>(); if (controlBase.GetType() != typeof(EditStudy)) { continue; } StudyHeader studyHeader = controlBase.GetPropertyValue("SubjectHeader").To <StudyHeader>(); if (studyHeader.StudyHeaderId <= 0 || studyHeader.StudyHeaderId != this.SelectedStudyHeader.StudyHeaderId) { continue; } window.Focus(); return(true); } #endregion EditStudy edit = new EditStudy(this.SelectedStudyHeader); ControlDialog.Show(this.SelectedStudyHeader.StudyName, edit, "SaveStudy", autoSize: false, owner: Application.Current.MainWindow); return(true); }
public List <OtherPreassureMeasurement> ParseElements(StudyHeader experiment) { string[] valueArray; double? sd; Dictionary <string, string> parsedValues = new Dictionary <string, string>(); List <OtherPreassureMeasurement> otherPreassures = new List <OtherPreassureMeasurement>(); foreach (string element in _elements) { parsedValues = _getValueDict(element); valueArray = parsedValues["Values"].Split('\t'); for (int i = 0; i < valueArray.Length; i++) { valueArray[i] = valueArray[i].Trim(); valueArray[i] = valueArray[i].Replace(',', '.'); } if (valueArray.Count() == 3) { sd = Convert.ToDouble(valueArray[2], CultureInfo.InvariantCulture); } else { sd = null; } otherPreassures.Add( new OtherPreassureMeasurement( parsedValues["Side"], parsedValues["Title"], parsedValues["Measurement"], Convert.ToInt32(valueArray[0], CultureInfo.InvariantCulture), Convert.ToDouble(valueArray[1], CultureInfo.InvariantCulture), sd, experiment ) ); } _elements = new List <string>(); return(otherPreassures); }
private void Bookmark_Cliked(object sender, RoutedEventArgs e) { try { int selectedVerse = Formatters.GetVerseFromKey(this.selectedKey); if (selectedVerse <= 0) { throw new ApplicationException("Please select a Verse."); } Dictionary <int, UserControlBase> openStudies = new Dictionary <int, UserControlBase>(); Dictionary <int, StudyHeader> studyHeaders = new Dictionary <int, StudyHeader>(); #region CHECK FOR OPEN STUDIES foreach (Window window in Application.Current.Windows) { if (window.GetType() != typeof(ControlWindow)) { continue; } UserControlBase controlBase = window.GetPropertyValue("ControlContent").To <UserControlBase>(); if (controlBase.GetType() != typeof(EditStudy)) { continue; } StudyHeader studyHeader = controlBase.GetPropertyValue("SubjectHeader").To <StudyHeader>(); if (studyHeader.StudyHeaderId <= 0) { string studyName = studyHeader.StudyName.IsNullEmptyOrWhiteSpace() ? "Unknown" : studyHeader.StudyName; string message = $"Study {studyName} have not been saved yet. This study will not be available for bookmarks."; MessageDisplay.Show(message); continue; } openStudies.Add(studyHeader.StudyHeaderId, controlBase); studyHeaders.Add(studyHeader.StudyHeaderId, studyHeader); } #endregion ModelsBookmark bookmark = new ModelsBookmark(); ModelView.OnItemBrowse += this.BookmarkModel_Browse; if (Formatters.IsBiblesKey(this.selectedKey)) { bookmark.SetVerse(this.selectedKey); } else { bookmark.SetVerse($"{this.Bible.BibleId}||{this.selectedKey}"); } if (studyHeaders.Count > 0) { #region STUDY BOOKMARKS StudyBookmarksModel studyMark = bookmark.CopyToObject(new StudyBookmarksModel()).To <StudyBookmarksModel>(); List <DataItemModel> studyOptions = new List <DataItemModel>(); studyOptions.Add(new DataItemModel { DisplayValue = $"<{this.Bible.BibleName}>", ItemKey = -1 }); foreach (KeyValuePair <int, StudyHeader> studyKey in studyHeaders) { studyOptions.Add(new DataItemModel { DisplayValue = studyKey.Value.StudyName, ItemKey = studyKey.Key }); } studyMark.AvailableStudies = studyOptions.ToArray(); if (ModelView.ShowDialog("Bookmark", studyMark).IsFalse()) { return; } if (studyMark.Study <= 0) { BookmarkModel dbModel = studyMark.CopyToObject(new BookmarkModel()).To <BookmarkModel>(); BiblesData.Database.InsertBookmarkModel(dbModel); } else { StudyBookmarkModel dbModel = studyMark.CopyToObject(new StudyBookmarkModel()).To <StudyBookmarkModel>(); dbModel.StudyName = studyMark.AvailableStudies.First(st => st.ItemKey.ToInt32() == studyMark.Study).DisplayValue; dbModel.StudyVerseKey = $"{studyMark.Study}||{dbModel.VerseKey}"; BiblesData.Database.InsertStudyBookmarkModel(dbModel); this.InvokeMethod(openStudies[studyMark.Study], "AddBookmark", new object[] { bookmark }); } #endregion } else { #region NORMAL BOOKMARKS if (ModelView.ShowDialog("Bookmark", bookmark).IsFalse()) { return; } BookmarkModel dbModel = bookmark.CopyToObject(new BookmarkModel()).To <BookmarkModel>(); BiblesData.Database.InsertBookmarkModel(dbModel); #endregion } BibleLoader.RefreshVerseNumberPanel ( this.loadedVerseStackDictionary[selectedVerse], this.Bible.BibleId, this.versesDictionary[selectedVerse] ); } catch (Exception err) { ErrorLog.ShowError(err); } finally { ModelView.OnItemBrowse -= this.BookmarkModel_Browse; } }