Exemple #1
0
        public override bool Equals(object obj)
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }

            if (ReferenceEquals(this, obj))
            {
                return(true);
            }

            TimerDurationSettings that = obj as TimerDurationSettings;

            if (that == null)
            {
                return(false);
            }

            return(this.id.Equals(that.id) &&
                   this.Title.Equals(that.Title) &&
                   this.Duration.Equals(that.Duration) &&
                   this.WarningTime.Equals(that.WarningTime) &&
                   this.SecondWarningTime.Equals(that.SecondWarningTime));
        }
Exemple #2
0
        public TimerDurationSettings Save(TimerDurationSettings timerDuration)
        {
            var parameters = new List <SQLiteParameter>
            {
                new SQLiteParameter()
                {
                    ParameterName = TitleCol.ParameterName, Value = timerDuration.Title
                },
                new SQLiteParameter()
                {
                    ParameterName = DurationCol.ParameterName, Value = timerDuration.Duration
                },
                new SQLiteParameter()
                {
                    ParameterName = Warning1Col.ParameterName, Value = timerDuration.WarningTime
                },
                new SQLiteParameter()
                {
                    ParameterName = Warning2Col.ParameterName, Value = timerDuration.SecondWarningTime
                }
            };

            if (timerDuration.DurationId < 0)
            {
                var sql = "INSERT INTO [" + TableName + "](" +
                          "[" + TitleCol.Name + "], " +
                          "[" + DurationCol.Name + "], " +
                          "[" + Warning1Col.Name + "], " +
                          "[" + Warning2Col.Name + "]" +
                          ") VALUES (" +
                          "@" + TitleCol.ParameterName + ", " +
                          "@" + DurationCol.ParameterName + ", " +
                          "@" + Warning1Col.ParameterName + ", " +
                          "@" + Warning2Col.ParameterName + ");";

                var newId = (int)this.Insert(sql, parameters.ToArray());
                return(new TimerDurationSettings(newId, timerDuration));
            }

            var update = "UPDATE [" + TableName + "] SET " +
                         "[" + TitleCol.Name + "] = @" + TitleCol.ParameterName + "," +
                         "[" + DurationCol.Name + "] = @" + DurationCol.ParameterName + "," +
                         "[" + Warning1Col.Name + "] = @" + Warning1Col.ParameterName + "," +
                         "[" + Warning2Col.Name + "] = @" + Warning2Col.ParameterName + " " +
                         "WHERE [" + IdCol.Name + "] = @" + IdCol.ParameterName + ";";

            parameters.Add(new SQLiteParameter()
            {
                ParameterName = IdCol.ParameterName, Value = timerDuration.DurationId
            });
            this.ExecuteNonQuery(update, parameters.ToArray());
            return(timerDuration);
        }
Exemple #3
0
        private SimpleTimerSettings Parse(SQLiteDataReader reader)
        {
            if (reader[TimerSettingsModel.IdCol.Name] is DBNull)
            {
                return(null);
            }

            int    id             = Convert.ToInt32(reader[TimerSettingsModel.IdCol.Name]);
            string name           = Convert.ToString(reader[TimerSettingsModel.NameCol.Name]);
            string finalMessage   = Convert.ToString(reader[TimerSettingsModel.MessageCol.Name]);
            bool   blinkOnExpired = Convert.ToInt32(reader[TimerSettingsModel.BlinkCol.Name]) > 0;

            TimerDurationSettings durationSettings = DurationSettingsModel.Parse(reader);
            TimerVisualSettings   visualSettings   = VisualSettingsModel.Parse(reader);

            return(new SimpleTimerSettings(id, name, finalMessage, blinkOnExpired, durationSettings, visualSettings, null));
        }
Exemple #4
0
        public static TimerDurationSettings ParseCsv(string csv, int start = 0)
        {
            try
            {
                var values = csv.Split(new char[] { ',' });

                var settings = new TimerDurationSettings(int.Parse(values[start + 0]))
                {
                    Title             = values[start + 1],
                    Duration          = double.Parse(values[start + 2]),
                    WarningTime       = double.Parse(values[start + 3]),
                    SecondWarningTime = double.Parse(values[start + 4]),
                };

                return(settings);
            }
            catch
            {
                return(TimerDurationSettings.Default);
            }
        }
Exemple #5
0
 public TimerDurationSettings(int durationId, TimerDurationSettings copy) :
     this(durationId, copy.Title, copy.Duration, copy.WarningTime, copy.SecondWarningTime)
 {
 }