public void UpdateSettings(EventModel_MindWave e)
 {
     using (var sw = System.IO.File.CreateText(Globals.SettingsFile))
     {
         sw.WriteLine("[Settings]");
         sw.WriteLine("ColorTresholdValue = " + e.ColorTresholdValue);
         sw.WriteLine("TurnCoefficient = " + e.TurnCoefficientValue);
         sw.WriteLine("ForwardPowerScale = " + e.ForwardPowerScaleValue);
         sw.WriteLine("TurnPowerScale = " + e.TurnPowerScaleValue);
         sw.WriteLine("MaxAttention = " + e.MaxAttentionValue);
     }
 }
        public void ReadSettings(EventModel_MindWave e)
        {
            var lines = System.IO.File.ReadAllLines(Globals.SettingsFile);

            // strings to look for
            var clr  = "ColorTresholdValue = ";
            var trnC = "TurnCoefficient = ";
            var frw  = "ForwardPowerScale = ";
            var trnP = "TurnPowerScale = ";
            var maxA = "MaxAttention = ";

            // add default values
            var clrVal  = Globals.COLOR_THRESHOLD;
            var trnCVal = Globals.TURN_COEFFICIENT;
            var frwVal  = Globals.FORWARD_POWER_SCALE;
            var trnPVal = Globals.TURN_POWER_SCALE;
            var maxAVal = Globals.MAX_ATTENTION;

            // file is not empty and It has [Settings] property
            if (lines.Length > 0 && lines[0] == "[Settings]")
            {
                for (int i = 1; i < lines.Length; i++)
                {
                    var isOk = lines[i].IndexOf(clr);
                    if (isOk != -1)
                    {
                        clrVal = Int32.Parse(lines[i].Substring(isOk + clr.Length));
                        //clrVal = clrVal < Globals.MIN_COLOR_TRESHOLD ? Globals.MIN_COLOR_TRESHOLD : clrVal;
                        //clrVal = clrVal > Globals.MAX_COLOR_TRESHOLD ? Globals.MAX_COLOR_TRESHOLD : clrVal;
                    }

                    isOk = lines[i].IndexOf(trnC);
                    if (isOk != -1)
                    {
                        trnCVal = double.Parse(lines[i].Substring(isOk + trnC.Length), CultureInfo.InvariantCulture);
                        //trnCVal = trnCVal < Globals.MIN_TURN_COEFFICIENT ? Globals.MIN_TURN_COEFFICIENT : trnCVal;
                        //trnCVal = trnCVal > Globals.MAX_TURN_COEFFICIENT ? Globals.MAX_TURN_COEFFICIENT : trnCVal;
                    }

                    isOk = lines[i].IndexOf(frw);
                    if (isOk != -1)
                    {
                        frwVal = double.Parse(lines[i].Substring(isOk + frw.Length), CultureInfo.InvariantCulture);
                        //frwVal = frwVal < Globals.MIN_FORWARD_POWER_SCALE ? Globals.MIN_FORWARD_POWER_SCALE : frwVal;
                        //frwVal = frwVal > Globals.MAX_FORWARD_POWER_SCALE ? Globals.MAX_FORWARD_POWER_SCALE : frwVal;
                    }

                    isOk = lines[i].IndexOf(trnP);
                    if (isOk != -1)
                    {
                        trnPVal = double.Parse(lines[i].Substring(isOk + trnP.Length), CultureInfo.InvariantCulture);
                        //trnPVal = trnPVal < Globals.MIN_TURN_POWER_SCALE ? Globals.MIN_TURN_POWER_SCALE : trnPVal;
                        //trnPVal = trnPVal > Globals.MAX_TURN_POWER_SCALE ? Globals.MAX_TURN_POWER_SCALE : trnPVal;
                    }


                    isOk = lines[i].IndexOf(maxA);
                    if (isOk != -1)
                    {
                        maxAVal = Int32.Parse(lines[i].Substring(isOk + maxA.Length));
                        //maxAVal = maxAVal < Globals.MIN_ATTENTION ? Globals.MIN_ATTENTION : maxAVal;
                        //maxAVal = maxAVal > Globals.MAX_ATTENTION ? Globals.MAX_ATTENTION : maxAVal;
                    }
                }

                e.ColorTresholdValue     = clrVal;
                e.ForwardPowerScaleValue = frwVal;
                e.MaxAttentionValue      = maxAVal;
                e.TurnPowerScaleValue    = trnPVal;
                e.TurnCoefficientValue   = trnCVal;
            }
        }