|
@@ -15,6 +15,7 @@ using InABox.Wpf;
|
|
|
using PRS.Shared;
|
|
|
using Syncfusion.UI.Xaml.Kanban;
|
|
|
using System.ComponentModel;
|
|
|
+using PRSDesktop.Panels.Timesheets;
|
|
|
|
|
|
namespace PRSDesktop
|
|
|
{
|
|
@@ -537,10 +538,32 @@ namespace PRSDesktop
|
|
|
else
|
|
|
onoff.Header = "Clock Employee Out of PRS";
|
|
|
|
|
|
- var show = menu.Items[4] as MenuItem;
|
|
|
+ var addNote = (menu.Items[4] as MenuItem)!;
|
|
|
+ var editNotes = (menu.Items[5] as MenuItem)!;
|
|
|
+ if (Security.CanEdit<EmployeeNote>())
|
|
|
+ {
|
|
|
+ addNote.Visibility = Visibility.Visible;
|
|
|
+ editNotes.Visibility = Visibility.Visible;
|
|
|
+ editNotes.Header = "Edit Notes";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ addNote.Visibility = Visibility.Collapsed;
|
|
|
+ if (Security.CanView<EmployeeNote>())
|
|
|
+ {
|
|
|
+ editNotes.Visibility = Visibility.Visible;
|
|
|
+ editNotes.Header = "View Notes";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ editNotes.Visibility = Visibility.Collapsed;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var show = menu.Items[7] as MenuItem;
|
|
|
show.Visibility = !model.Active ? Visibility.Visible : Visibility.Collapsed;
|
|
|
|
|
|
- var hide = menu.Items[5] as MenuItem;
|
|
|
+ var hide = menu.Items[8] as MenuItem;
|
|
|
hide.Visibility = model.Active ? Visibility.Visible : Visibility.Collapsed;
|
|
|
}
|
|
|
|
|
@@ -676,7 +699,7 @@ namespace PRSDesktop
|
|
|
if (row != null)
|
|
|
{
|
|
|
var emp = new Employee { ID = id, ShowOnInOutBoard = include };
|
|
|
- new Client<Employee>().Save(emp, include ? "Added To" : "Removed From" + " In/Out Board", (o, e) => { });
|
|
|
+ Client.Save(emp, include ? "Added To" : "Removed From" + " In/Out Board", (o, e) => { });
|
|
|
row.Set<Employee, bool>(x => x.ShowOnInOutBoard, include);
|
|
|
model.Active = include;
|
|
|
}
|
|
@@ -689,5 +712,42 @@ namespace PRSDesktop
|
|
|
UpdateInOutStatus(model, false);
|
|
|
FilterKanbans();
|
|
|
}
|
|
|
+
|
|
|
+ private void AddNote_Click(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ if (sender is not FrameworkElement el || el.Tag is not AttendanceKanban model) return;
|
|
|
+
|
|
|
+ var employeeID = Guid.Parse(model.ID);
|
|
|
+ var note = "";
|
|
|
+ if(TextBoxDialog.Execute("Edit note:", ref note))
|
|
|
+ {
|
|
|
+ var employeeNote = new EmployeeNote
|
|
|
+ {
|
|
|
+ Note = note,
|
|
|
+ Date = DateTime.Now
|
|
|
+ };
|
|
|
+ employeeNote.Employee.ID = employeeID;
|
|
|
+ Client.Save(employeeNote, "");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void EditNotes_Click(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ if (sender is not FrameworkElement el || el.Tag is not AttendanceKanban model) return;
|
|
|
+
|
|
|
+ var employeeID = Guid.Parse(model.ID);
|
|
|
+
|
|
|
+ var grid = new TimesheetNotesGrid
|
|
|
+ {
|
|
|
+ EmployeeID = employeeID,
|
|
|
+ Date = DateTime.Today
|
|
|
+ };
|
|
|
+ grid.Refresh(true, true);
|
|
|
+ var dlg = new DynamicContentDialog(grid, buttonsVisible: false)
|
|
|
+ {
|
|
|
+ Title = "Edit Notes"
|
|
|
+ };
|
|
|
+ dlg.ShowDialog();
|
|
|
+ }
|
|
|
}
|
|
|
}
|