12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using Comal.Classes;
- using InABox.Clients;
- using InABox.Core;
- using Org.BouncyCastle.Asn1.X509;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PRSDesktop
- {
- public static class FormUtils
- {
- public static void Register()
- {
- DFUtils.AddFormUtils<AssignmentForm, Assignment, AssignmentLink>(CanEditAssignmentForm);
- 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);
- DFUtils.AddFormUtils<LeaveRequestForm, LeaveRequest, LeaveRequestLink>(CanEditLeaveRequestForm);
- DFUtils.AddFormUtils<PurchaseOrderItemForm, PurchaseOrderItem, PurchaseOrderItemLink>(CanEditPurchaseOrderItemForm);
- DFUtils.AddFormUtils<TimeSheetForm, TimeSheet, TimeSheetLink>(CanEditTimeSheetForm);
- DFUtils.AddFormUtils<JobDocumentSetMileStoneForm, JobDocumentSetMileStone, JobDocumentSetMileStoneLink>(CanEditJobDocumentSetMileStoneForm);
- }
- 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;
- }
- private static void KanbanOnSave(KanbanForm form, Kanban entity)
- {
- var subscriber = new KanbanSubscriber
- {
- Assignee = true
- };
- subscriber.Kanban.ID = entity.ID;
- subscriber.Employee.ID = entity.EmployeeLink.ID;
- new Client<KanbanSubscriber>().Save(subscriber, "");
- }
- public static bool CanEditLeaveRequestForm(LeaveRequestForm form, LeaveRequest leaveRequest)
- {
- return leaveRequest.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;
- }
- }
- }
|