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);
        }
Example #2
0
        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);
        }
Example #8
0
        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);
        }
Example #10
0
        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));
            }
        }
Example #11
0
        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);
            }
        }
Example #12
0
        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;
            }
        }