Exemple #1
0
        public List <NonWorkingDays> SelectAllNonWorkingDays()
        {
            var ret = new List <NonWorkingDays>();

            using (var cmd = new SQLiteCommand(con))
            {
                cmd.CommandText = "SELECT rowid,startday,endday,name,hours FROM nonworkingdays ORDER BY startday";
                using (var reader = cmd.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            var nwd = new NonWorkingDays
                            {
                                Id       = reader.GetInt64(0),
                                StartDay = DateTimeOffset.FromUnixTimeSeconds(reader.GetInt64(1)).DateTime.ToLocalTime(),
                                EndDay   = DateTimeOffset.FromUnixTimeSeconds(reader.GetInt64(2)).DateTime.ToLocalTime(),
                                Name     = reader.GetString(3),
                                Hours    = reader.GetInt32(4)
                            };
                            ret.Add(nwd);
                        }
                    }
                }
            }
            return(ret);
        }
Exemple #2
0
 public void DeleteNonWorkingDays(NonWorkingDays nwd)
 {
     using (var cmd = new SQLiteCommand(con))
     {
         cmd.CommandText = "DELETE FROM nonworkingdays WHERE rowid=@p1";
         cmd.Parameters.Add(new SQLiteParameter("@p1", nwd.Id));
         cmd.ExecuteNonQuery();
     }
 }
Exemple #3
0
 public void UpdateNonWorkingDays(NonWorkingDays nwd)
 {
     using (var cmd = new SQLiteCommand(con))
     {
         cmd.CommandText = "UPDATE nonworkingdays SET startday=@p1,endday=@p2,name=@p3,hours=@p4 WHERE rowid=@p5";
         cmd.Parameters.Add(new SQLiteParameter("@p1", ((DateTimeOffset)nwd.StartDay.ToUniversalTime()).ToUnixTimeSeconds()));
         cmd.Parameters.Add(new SQLiteParameter("@p2", ((DateTimeOffset)nwd.EndDay.ToUniversalTime()).ToUnixTimeSeconds()));
         cmd.Parameters.Add(new SQLiteParameter("@p3", nwd.Name));
         cmd.Parameters.Add(new SQLiteParameter("@p4", nwd.Hours));
         cmd.Parameters.Add(new SQLiteParameter("@p5", nwd.Id));
         cmd.ExecuteNonQuery();
     }
 }
Exemple #4
0
 public void InsertNonWorkDays(NonWorkingDays nwd)
 {
     using (var cmd = new SQLiteCommand(con))
     {
         cmd.CommandText = "INSERT INTO nonworkingdays (startday,endday,name,hours) VALUES(@p1,@p2,@p3,@p4)";
         cmd.Parameters.Add(new SQLiteParameter("@p1", ((DateTimeOffset)nwd.StartDay.ToUniversalTime()).ToUnixTimeSeconds()));
         cmd.Parameters.Add(new SQLiteParameter("@p2", ((DateTimeOffset)nwd.EndDay.ToUniversalTime()).ToUnixTimeSeconds()));
         cmd.Parameters.Add(new SQLiteParameter("@p3", nwd.Name));
         cmd.Parameters.Add(new SQLiteParameter("@p4", nwd.Hours));
         cmd.ExecuteNonQuery();
         nwd.Id = con.LastInsertRowId;
     }
 }
Exemple #5
0
 private void SelectNonWorkingDays(NonWorkingDays nwd)
 {
     for (int idx = 0; idx < listView.Items.Count; idx++)
     {
         if (listView.Items[idx] is NonWorkingDays n)
         {
             if (n.Id == nwd.Id)
             {
                 listView.ScrollIntoView(n);
                 listView.SelectedIndex = idx;
                 listView.FocusItem(idx);
                 break;
             }
         }
     }
 }
 public EditNonWorkingDaysWindow(Window owner, string title, NonWorkingDays nwd)
 {
     Owner = owner;
     Title = title;
     WindowStartupLocation = WindowStartupLocation.CenterOwner;
     InitializeComponent();
     datePickerFrom.SelectedDate = nwd.StartDay;
     datePickerTo.SelectedDate   = nwd.EndDay;
     textBoxName.Text            = nwd.Name;
     textBoxHours.Text           = Convert.ToString(nwd.Hours);
     datePickerFrom.Focus();
     buttonOK.IsEnabled = false;
     NonWorkingDays     = new NonWorkingDays {
         Id = nwd.Id
     };
 }
Exemple #7
0
        private void ButtonAdd_Click(object sender, RoutedEventArgs e)
        {
            if (init)
            {
                return;
            }
            var txt = textBoxName.Text.Trim();

            if (string.IsNullOrEmpty(txt) ||
                !datePickerFrom.SelectedDate.HasValue ||
                !datePickerTo.SelectedDate.HasValue ||
                datePickerTo.SelectedDate.Value.GetDayDateTime() < datePickerFrom.SelectedDate.Value.GetDayDateTime())
            {
                return;
            }
            if (!int.TryParse(textBoxHours.Text, out int hours) ||
                hours != 4 && hours != 8)
            {
                return;
            }
            try
            {
                var nwd = new NonWorkingDays
                {
                    StartDay = datePickerFrom.SelectedDate.Value.GetDayDateTime(),
                    EndDay   = datePickerTo.SelectedDate.Value.GetDayDateTime(),
                    Name     = textBoxName.Text,
                    Hours    = hours
                };
                database.InsertNonWorkDays(nwd);
                nonWorkingDays.Add(nwd);
                SelectNonWorkingDays(nwd);
                textBoxName.Text            = "";
                textBoxHours.Text           = "8";
                datePickerFrom.SelectedDate = null;
                datePickerTo.SelectedDate   = null;
                datePickerFrom.Focus();
                Changed = true;
                UpdateControls();
            }
            catch (Exception ex)
            {
                HandleError(ex);
            }
        }