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); }
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(); } }
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(); } }
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; } }
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 }; }
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); } }