|
@@ -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; }
|
|
|
}
|
|
|
|
|
|
}
|