| 
					
				 | 
			
			
				@@ -1,6 +1,66 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using Avalonia.Controls; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using Comal.Classes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using CommunityToolkit.Mvvm.ComponentModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using CommunityToolkit.Mvvm.Input; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using InABox.Avalonia.Components; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using InABox.Core; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using PRS.Avalonia.Components; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using PRS.Avalonia.DigitalForms; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using System; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using System.Linq; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using System.Threading.Tasks; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 namespace PRS.Avalonia.Modules.MyHR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class MyHRDigitalFormsViewModel : ModuleViewModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public partial class MyHRDigitalFormsViewModel : ModuleViewModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public override string Title => "Digital Forms"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string Title => "My Forms"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ObservableProperty] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private EmployeeFormModel _forms; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [ObservableProperty] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private DigitalFormModel _digitalForms; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public MyHRDigitalFormsViewModel() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Forms = new EmployeeFormModel(DataAccess, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            () => new Filter<EmployeeForm>(x => x.Parent.ID).IsEqualTo(Repositories.Me.ID), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            () => DefaultCacheFileName<EmployeeFormShell>()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DigitalForms = Repositories.DigitalForms(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PrimaryMenu.Add(new AvaloniaMenuItem(Images.plus, AddForm)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private async Task<bool> AddForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var form = await FormsList.SelectForm<EmployeeForm, Employee, EmployeeLink>(DigitalForms); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (form is null) return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var employeeForm = Forms.CreateItem(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        employeeForm.ParentID = Repositories.Me.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        employeeForm.FormID = form.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        employeeForm.FormCode = form.Code; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        employeeForm.FormDescription = form.Description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        employeeForm.FormDescriptionExpression = form.DescriptionExpression; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DigitalFormsHostViewModel<EmployeeFormModel, EmployeeFormShell, Employee, EmployeeLink, EmployeeForm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .EditForm(Forms, employeeForm, Repositories.Me.Entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    protected override async Task<TimeSpan> OnRefresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await Forms.RefreshAsync(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return TimeSpan.Zero; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [RelayCommand] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void FormClicked(EmployeeFormShell shell) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DigitalFormsHostViewModel<EmployeeFormModel, EmployeeFormShell, Employee, EmployeeLink, EmployeeForm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .EditForm(Forms, shell, Repositories.Me.Entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |