Sfoglia il codice sorgente

Added JobActivity Quoted Value

frogsoftware 1 anno fa
parent
commit
5b4aafd1f1

+ 27 - 4
prs.classes/Entities/Job/JobActivity.cs

@@ -68,7 +68,21 @@ namespace Comal.Classes
     
     public class JobActivityBudgetAggregate : CoreAggregate<JobActivitySummary, JobActivity, TimeSpan>
     {
-        public override Expression<Func<JobActivity, TimeSpan>> Aggregate => x => x.Duration;
+        public override Expression<Func<JobActivity, TimeSpan>> Aggregate => x => x.Budget;
+
+        public override Dictionary<Expression<Func<JobActivity, object>>, Expression<Func<JobActivitySummary, object>>> Links =>
+            new Dictionary<Expression<Func<JobActivity, object>>, Expression<Func<JobActivitySummary, object>>>()
+            {
+                { JobActivity => JobActivity.JobLink.ID, JobActivitySummary => JobActivitySummary.JobLink.ID },
+                { JobActivity => JobActivity.ActivityLink.ID, JobActivitySummary => JobActivitySummary.ActivityLink.ID }
+            };
+
+        public override AggregateCalculation Calculation => AggregateCalculation.Sum;
+    }
+    
+    public class JobActivityQuoteAggregate : CoreAggregate<JobActivitySummary, JobActivity, TimeSpan>
+    {
+        public override Expression<Func<JobActivity, TimeSpan>> Aggregate => x => x.Quote;
 
         public override Dictionary<Expression<Func<JobActivity, object>>, Expression<Func<JobActivitySummary, object>>> Links =>
             new Dictionary<Expression<Func<JobActivity, object>>, Expression<Func<JobActivitySummary, object>>>()
@@ -115,15 +129,20 @@ namespace Comal.Classes
 
         [EditorSequence(2)]
         [DurationEditor(Visible = Visible.Default, Summary = Summary.Sum)]
+        [Aggregate(typeof(JobActivityQuoteAggregate))]
+        public TimeSpan Quote { get; set; }
+        
+        [EditorSequence(3)]
+        [DurationEditor(Visible = Visible.Default, Summary = Summary.Sum)]
         [Aggregate(typeof(JobActivityBudgetAggregate))]
         public TimeSpan Budget { get; set; }
         
-        [EditorSequence(3)]
+        [EditorSequence(4)]
         [DurationEditor(Visible = Visible.Default, Summary = Summary.Sum)]
         [Aggregate(typeof(JobActivityBookedAggregate))]
         public TimeSpan Booked { get; set; }        
         
-        [EditorSequence(3)]
+        [EditorSequence(5)]
         [DurationEditor(Visible = Visible.Default, Summary = Summary.Sum)]
         [Aggregate(typeof(JobActivityActualAggregate))]
         public TimeSpan Actual { get; set; }
@@ -142,7 +161,11 @@ namespace Comal.Classes
         
         [EditorSequence(3)]
         [DurationEditor(Summary = Summary.Sum)]
-        public TimeSpan Duration { get; set; }
+        public TimeSpan Quote { get; set; }
+        
+        [EditorSequence(4)]
+        [DurationEditor(Summary = Summary.Sum)]
+        public TimeSpan Budget { get; set; }
     }
     
 }

+ 1 - 3
prs.desktop/Panels/Jobs/Assignments/JobActivitySummaryGrid.cs

@@ -70,8 +70,6 @@ namespace PRSDesktop
                         editor.Editable = Editable.Hidden;
                     else if (String.Equals(column.ColumnName, "ActivityLink.ID"))
                         (editor as ComboLookupEditor).Type = typeof(JobActivityLookup);
-                    else if (String.Equals(column.ColumnName, "Duration"))
-                        editor.Caption = "Budget";
                 };
             }
         }
@@ -110,7 +108,7 @@ namespace PRSDesktop
             {
                 var table = new Client<JobActivity>().Query(
                     new Filter<JobActivity>(x => x.JobLink.ID).IsEqualTo(Master.ID).And(x => x.ActivityLink.ID).InList(ids),
-                    Columns.Required<JobActivity>().Add(x=>x.ID).Add(x=>x.JobLink.ID).Add(x=>x.ActivityLink.ID).Add(x=>x.Duration)
+                    Columns.Required<JobActivity>().Add(x=>x.ID).Add(x=>x.JobLink.ID).Add(x=>x.ActivityLink.ID).Add(x=>x.Quote).Add(x=>x.Budget)
                 );
                 items = table.Rows.Select(x => x.ToObject<JobActivity>()).ToList();
             }