|
|
@@ -8,102 +8,107 @@ using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
-namespace PRSDesktop
|
|
|
+namespace PRSDesktop;
|
|
|
+
|
|
|
+public static class FormUtils
|
|
|
{
|
|
|
- public static class FormUtils
|
|
|
+ public static void Register()
|
|
|
{
|
|
|
- public static void Register()
|
|
|
- {
|
|
|
- DFUtils.AddFormUtils<AssignmentForm, Assignment, AssignmentLink>(CanEditAssignmentForm, requiredColumnsFunc: RequiredAssignmentColumns);
|
|
|
- DFUtils.AddFormUtils<EmployeeForm, Employee, EmployeeLink>(CanEditEmployeeForm);
|
|
|
- DFUtils.AddFormUtils<JobForm, Job, JobLink>(CanEditJobForm);
|
|
|
- DFUtils.AddFormUtils<JobITPForm, JobITP, JobITPLink>(CanEditJobITPForm);
|
|
|
- DFUtils.AddFormUtils<KanbanForm, Kanban, KanbanLink>(CanEditKanbanForm, NewKanban, KanbanOnSave, requiredColumnsFunc: RequiredKanbanColumns);
|
|
|
- DFUtils.AddFormUtils<LeaveRequestForm, LeaveRequest, LeaveRequestLink>(CanEditLeaveRequestForm, requiredColumnsFunc: RequiredLeaveRequestColumns);
|
|
|
- DFUtils.AddFormUtils<PurchaseOrderItemForm, PurchaseOrderItem, PurchaseOrderItemLink>(CanEditPurchaseOrderItemForm);
|
|
|
- DFUtils.AddFormUtils<TimeSheetForm, TimeSheet, TimeSheetLink>(CanEditTimeSheetForm, requiredColumnsFunc: RequiredTimeSheetColumns);
|
|
|
- DFUtils.AddFormUtils<JobDocumentSetMileStoneForm, JobDocumentSetMileStone, JobDocumentSetMileStoneLink>(CanEditJobDocumentSetMileStoneForm);
|
|
|
- }
|
|
|
+ DFUtils.AddFormUtils<AssignmentForm, Assignment, AssignmentLink>(CanEditAssignmentForm, requiredColumnsFunc: RequiredAssignmentColumns);
|
|
|
+ DFUtils.AddFormUtils<EmployeeForm, Employee, EmployeeLink>(CanEditEmployeeForm);
|
|
|
+ DFUtils.AddFormUtils<JobForm, Job, JobLink>(CanEditJobForm);
|
|
|
+ DFUtils.AddFormUtils<JobITPForm, JobITP, JobITPLink>(CanEditJobITPForm);
|
|
|
+ DFUtils.AddFormUtils<KanbanForm, Kanban, KanbanLink>(CanEditKanbanForm, NewKanban, KanbanOnSave, requiredColumnsFunc: RequiredKanbanColumns);
|
|
|
+ DFUtils.AddFormUtils<LeaveRequestForm, LeaveRequest, LeaveRequestLink>(CanEditLeaveRequestForm, requiredColumnsFunc: RequiredLeaveRequestColumns);
|
|
|
+ DFUtils.AddFormUtils<PurchaseOrderItemForm, PurchaseOrderItem, PurchaseOrderItemLink>(CanEditPurchaseOrderItemForm);
|
|
|
+ DFUtils.AddFormUtils<TimeSheetForm, TimeSheet, TimeSheetLink>(CanEditTimeSheetForm, requiredColumnsFunc: RequiredTimeSheetColumns);
|
|
|
+ DFUtils.AddFormUtils<JobDocumentSetMileStoneForm, JobDocumentSetMileStone, JobDocumentSetMileStoneLink>(CanEditJobDocumentSetMileStoneForm);
|
|
|
+ DFUtils.AddFormUtils<StagingSetoutForm, StagingSetout, StagingSetoutLink>(CanEditStagingSetoutForm);
|
|
|
+ }
|
|
|
|
|
|
- private static Columns<Assignment> RequiredAssignmentColumns()
|
|
|
- {
|
|
|
- return Columns.None<Assignment>().Add(x => x.EmployeeLink.ID);
|
|
|
- }
|
|
|
+ private static Columns<Assignment> RequiredAssignmentColumns()
|
|
|
+ {
|
|
|
+ return Columns.None<Assignment>().Add(x => x.EmployeeLink.ID);
|
|
|
+ }
|
|
|
|
|
|
- public static bool CanEditAssignmentForm(AssignmentForm form, Assignment assignment)
|
|
|
- {
|
|
|
- return assignment.EmployeeLink.ID == App.EmployeeID;
|
|
|
- }
|
|
|
- public static bool CanEditEmployeeForm(EmployeeForm form, Employee employee)
|
|
|
- {
|
|
|
- return employee.ID == App.EmployeeID;
|
|
|
- }
|
|
|
- public static bool CanEditJobForm(JobForm form, Job job)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
- public static bool CanEditJobITPForm(JobITPForm form, JobITP jobITP)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
- public static bool CanEditJobDocumentSetMileStoneForm(JobDocumentSetMileStoneForm form, JobDocumentSetMileStone assignment)
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
+ public static bool CanEditAssignmentForm(AssignmentForm form, Assignment assignment)
|
|
|
+ {
|
|
|
+ return assignment.EmployeeLink.ID == App.EmployeeID;
|
|
|
+ }
|
|
|
+ public static bool CanEditEmployeeForm(EmployeeForm form, Employee employee)
|
|
|
+ {
|
|
|
+ return employee.ID == App.EmployeeID;
|
|
|
+ }
|
|
|
+ public static bool CanEditJobForm(JobForm form, Job job)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ public static bool CanEditJobITPForm(JobITPForm form, JobITP jobITP)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public static bool CanEditJobDocumentSetMileStoneForm(JobDocumentSetMileStoneForm form, JobDocumentSetMileStone assignment)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
|
|
|
- public static bool CanEditKanbanForm(KanbanForm form, Kanban kanban)
|
|
|
- {
|
|
|
- return kanban.EmployeeLink.ID == App.EmployeeID;
|
|
|
- }
|
|
|
- private static Kanban NewKanban(DigitalForm form)
|
|
|
- {
|
|
|
- var kanban = new Kanban();
|
|
|
- kanban.EmployeeLink.ID = App.EmployeeID;
|
|
|
- kanban.DueDate = DateTime.Today;
|
|
|
- kanban.Title = $"Form - {form.Description}";
|
|
|
- kanban.Notes = new[] { "Created by desktop forms" };
|
|
|
- kanban.Status = KanbanStatus.InProgress;
|
|
|
- return kanban;
|
|
|
- }
|
|
|
+ public static bool CanEditKanbanForm(KanbanForm form, Kanban kanban)
|
|
|
+ {
|
|
|
+ return kanban.EmployeeLink.ID == App.EmployeeID;
|
|
|
+ }
|
|
|
+ private static Kanban NewKanban(DigitalForm form)
|
|
|
+ {
|
|
|
+ var kanban = new Kanban();
|
|
|
+ kanban.EmployeeLink.ID = App.EmployeeID;
|
|
|
+ kanban.DueDate = DateTime.Today;
|
|
|
+ kanban.Title = $"Form - {form.Description}";
|
|
|
+ kanban.Notes = new[] { "Created by desktop forms" };
|
|
|
+ kanban.Status = KanbanStatus.InProgress;
|
|
|
+ return kanban;
|
|
|
+ }
|
|
|
|
|
|
- private static void KanbanOnSave(KanbanForm form, Kanban entity)
|
|
|
+ private static void KanbanOnSave(KanbanForm form, Kanban entity)
|
|
|
+ {
|
|
|
+ var subscriber = new KanbanSubscriber
|
|
|
{
|
|
|
- var subscriber = new KanbanSubscriber
|
|
|
- {
|
|
|
- Assignee = true
|
|
|
- };
|
|
|
- subscriber.Kanban.ID = entity.ID;
|
|
|
- subscriber.Employee.ID = entity.EmployeeLink.ID;
|
|
|
- new Client<KanbanSubscriber>().Save(subscriber, "");
|
|
|
- }
|
|
|
+ Assignee = true
|
|
|
+ };
|
|
|
+ subscriber.Kanban.ID = entity.ID;
|
|
|
+ subscriber.Employee.ID = entity.EmployeeLink.ID;
|
|
|
+ new Client<KanbanSubscriber>().Save(subscriber, "");
|
|
|
+ }
|
|
|
|
|
|
- private static Columns<Kanban> RequiredKanbanColumns()
|
|
|
- {
|
|
|
- return Columns.None<Kanban>().Add(x => x.EmployeeLink.ID);
|
|
|
- }
|
|
|
+ private static Columns<Kanban> RequiredKanbanColumns()
|
|
|
+ {
|
|
|
+ return Columns.None<Kanban>().Add(x => x.EmployeeLink.ID);
|
|
|
+ }
|
|
|
|
|
|
- public static bool CanEditLeaveRequestForm(LeaveRequestForm form, LeaveRequest leaveRequest)
|
|
|
- {
|
|
|
- return leaveRequest.EmployeeLink.ID == App.EmployeeID;
|
|
|
- }
|
|
|
+ public static bool CanEditLeaveRequestForm(LeaveRequestForm form, LeaveRequest leaveRequest)
|
|
|
+ {
|
|
|
+ return leaveRequest.EmployeeLink.ID == App.EmployeeID;
|
|
|
+ }
|
|
|
|
|
|
- private static Columns<LeaveRequest> RequiredLeaveRequestColumns()
|
|
|
- {
|
|
|
- return Columns.None<LeaveRequest>().Add(x => x.EmployeeLink.ID);
|
|
|
- }
|
|
|
+ private static Columns<LeaveRequest> RequiredLeaveRequestColumns()
|
|
|
+ {
|
|
|
+ return Columns.None<LeaveRequest>().Add(x => x.EmployeeLink.ID);
|
|
|
+ }
|
|
|
|
|
|
- public static bool CanEditPurchaseOrderItemForm(PurchaseOrderItemForm form, PurchaseOrderItem purchaseOrderItem)
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
- public static bool CanEditTimeSheetForm(TimeSheetForm form, TimeSheet timeSheet)
|
|
|
- {
|
|
|
- return timeSheet.EmployeeLink.ID == App.EmployeeID;
|
|
|
- }
|
|
|
+ public static bool CanEditPurchaseOrderItemForm(PurchaseOrderItemForm form, PurchaseOrderItem purchaseOrderItem)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ public static bool CanEditTimeSheetForm(TimeSheetForm form, TimeSheet timeSheet)
|
|
|
+ {
|
|
|
+ return timeSheet.EmployeeLink.ID == App.EmployeeID;
|
|
|
+ }
|
|
|
|
|
|
- private static Columns<TimeSheet> RequiredTimeSheetColumns()
|
|
|
- {
|
|
|
- return Columns.None<TimeSheet>().Add(x => x.EmployeeLink.ID);
|
|
|
- }
|
|
|
+ private static Columns<TimeSheet> RequiredTimeSheetColumns()
|
|
|
+ {
|
|
|
+ return Columns.None<TimeSheet>().Add(x => x.EmployeeLink.ID);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static bool CanEditStagingSetoutForm(StagingSetoutForm form, StagingSetout entity)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|