|
|
@@ -626,6 +626,11 @@ namespace PRSDesktop
|
|
|
else
|
|
|
Notes.SetFocus();
|
|
|
}
|
|
|
+
|
|
|
+ if(assignment is not null)
|
|
|
+ {
|
|
|
+ WeakEventManager<Assignment, PropertyChangedEventArgs>.AddHandler(assignment, nameof(Assignment.PropertyChanged), Assignment_Changed);
|
|
|
+ }
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
@@ -635,6 +640,49 @@ namespace PRSDesktop
|
|
|
Logger.Send(LogType.Information, ClientFactory.UserID, "Out Of Assignment_SelectionChanged()");
|
|
|
}
|
|
|
|
|
|
+ private void Assignment_Changed(object? sender, PropertyChangedEventArgs e)
|
|
|
+ {
|
|
|
+ if (sender != SelectedAssignment) return;
|
|
|
+
|
|
|
+ if(e.PropertyName == nameof(Assignment.Title))
|
|
|
+ {
|
|
|
+ SetEditorValue(Title, SelectedAssignment.Title, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == nameof(Assignment.Description))
|
|
|
+ {
|
|
|
+ SetEditorValue(ActivityNotes, SelectedAssignment.Description, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == $"{nameof(Assignment.Actual)}.{nameof(TimeBlock.Start)}")
|
|
|
+ {
|
|
|
+ SetEditorValue(Start, SelectedAssignment.Actual.Start, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == $"{nameof(Assignment.Actual)}.{nameof(TimeBlock.Duration)}")
|
|
|
+ {
|
|
|
+ SetEditorValue(Duration, SelectedAssignment.Actual.Duration, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == $"{nameof(Assignment.Actual)}.{nameof(TimeBlock.Finish)}")
|
|
|
+ {
|
|
|
+ SetEditorValue(Finish, SelectedAssignment.Actual.Finish, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == $"{nameof(Assignment.JobLink)}.{nameof(JobLink.ID)}")
|
|
|
+ {
|
|
|
+ SetEditorValue(Job, SelectedAssignment.JobLink.ID, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == $"{nameof(Assignment.ITP)}.{nameof(JobITPLink.ID)}")
|
|
|
+ {
|
|
|
+ SetEditorValue(ITP, SelectedAssignment.ITP.ID, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == $"{nameof(Assignment.ActivityLink)}.{nameof(AssignmentActivityLink.ID)}")
|
|
|
+ {
|
|
|
+ SetEditorValue(Activity, SelectedAssignment.ActivityLink.ID, true);
|
|
|
+ }
|
|
|
+ else if(e.PropertyName == $"{nameof(Assignment.Task)}.{nameof(KanbanLink.ID)}")
|
|
|
+ {
|
|
|
+ SetEditorValue(Kanban, SelectedAssignment.Task.ID, true);
|
|
|
+ Job.IsEnabled = SelectedAssignment.Task.IsValid();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void ConfigureEditor(BaseDynamicEditorControl editor, BaseEditor? definition = null)
|
|
|
{
|
|
|
editor.Host = this;
|