| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 | 
							- using System;
 
- using System.Linq.Expressions;
 
- using InABox.Core;
 
- namespace Comal.Classes
 
- {
 
-     //public class DeliveryAssignments : CoreAggregate<Assignment, Delivery, Guid>
 
- //{
 
- //    public override Expression<Func<Delivery, Guid>> Aggregate => Delivery => Delivery.ID;
 
- //    //public Expression<Func<Delivery, Guid>> Link => x => x.Assignment.ID;
 
- //    public override AggregateCalculation Calculation => AggregateCalculation.Count;
 
- //    public override Dictionary<Expression<Func<Delivery, object>>, Expression<Func<Assignment, object>>> Links =>
 
- //        new Dictionary<Expression<Func<Delivery, object>>, Expression<Func<Assignment, object>>>
 
- //        {
 
- //            { Delivery => Delivery.Assignment.ID, x => x.ID }
 
- //        };
 
- //}
 
-     /// <summary>
 
-     ///     An assignment represents an anticipated booking for an employee, much like a diary entry
 
-     ///     <exclude />
 
-     /// </summary>
 
-     [UserTracking("Assignments")]
 
-     [Caption("Assignments")]
 
-     public class Assignment : Entity, IPersistent, IRemotable, INumericAutoIncrement<Assignment>, IOneToMany<Employee>, IOneToMany<Job>,
 
-         IOneToMany<Kanban>, ILicense<SchedulingControlLicense>, IJobActivity
 
-     {
 
-         private bool bChanging;
 
-         [IntegerEditor(Editable = Editable.Hidden)]
 
-         [EditorSequence(1)]
 
-         public int Number { get; set; }
 
-         [DateEditor]
 
-         [EditorSequence(2)]
 
-         public DateTime Date { get; set; }
 
-         [EntityRelationship(DeleteAction.Cascade)]
 
-         [EditorSequence(3)]
 
-         public EmployeeLink EmployeeLink { get; set; }
 
-         [TextBoxEditor]
 
-         [EditorSequence(4)]
 
-         public string Title { get; set; }
 
-         [MemoEditor]
 
-         [EditorSequence(5)]
 
-         public string Description { get; set; }
 
-         [TimeOfDayEditor]
 
-         [EditorSequence(6)]
 
-         public TimeSpan Start { get; set; }
 
-         [DurationEditor(Summary = Summary.Sum)]
 
-         [EditorSequence(7)]
 
-         public TimeSpan Duration { get; set; }
 
-         [TimeOfDayEditor]
 
-         [EditorSequence(8)]
 
-         public TimeSpan Finish { get; set; }
 
-         [EditorSequence(9)]
 
-         [EntityRelationship(DeleteAction.SetNull)]
 
-         public KanbanLink Task { get; set; }
 
-         [EditorSequence(10)]
 
-         public JobLink JobLink { get; set; }
 
-         [EditorSequence(11)]
 
-         public JobITPLink ITP { get; set; }
 
-         [EditorSequence(12)]
 
-         public AssignmentActivityLink ActivityLink { get; set; }
 
-         [TimestampEditor]
 
-         [EditorSequence(13)]
 
-         public DateTime Completed { get; set; }
 
-         [TimestampEditor]
 
-         [EditorSequence(14)]
 
-         public DateTime Processed { get; set; }
 
-         [NullEditor]
 
-         [EntityRelationship(DeleteAction.Cascade)]
 
-         public LeaveRequestLink LeaveRequestLink { get; set; }
 
-         [NullEditor]
 
-         public DeliveryLink Delivery { get; set; }
 
-         [NullEditor]
 
-         [EntityRelationship(DeleteAction.SetNull)]
 
-         public TimeSheetLink TimeSheetLink { get; set; }
 
-         public Expression<Func<Assignment, int>> AutoIncrementField()
 
-         {
 
-             return x => x.Number;
 
-         }
 
-         public Filter<Assignment> AutoIncrementFilter()
 
-         {
 
-             return null;
 
-         }
 
-         protected override void DoPropertyChanged(string name, object before, object after)
 
-         {
 
-             base.DoPropertyChanged(name, before, after);
 
-             if (bChanging)
 
-                 return;
 
-             bChanging = true;
 
-             if (name.Equals("Start"))
 
-                 Finish = ((TimeSpan)after).Add(Duration);
 
-             else if (name.Equals("Finish"))
 
-                 Duration = ((TimeSpan)after).Subtract(Start);
 
-             else if (name.Equals("Duration"))
 
-                 Finish = Start.Add((TimeSpan)after);
 
-             bChanging = false;
 
-         }
 
-         protected override void Init()
 
-         {
 
-             base.Init();
 
-             JobLink = new JobLink();
 
-             ITP = new JobITPLink();
 
-             EmployeeLink = new EmployeeLink();
 
-             LeaveRequestLink = new LeaveRequestLink();
 
-             ActivityLink = new AssignmentActivityLink();
 
-             TimeSheetLink = new TimeSheetLink();
 
-             Delivery = new DeliveryLink();
 
-             Task = new KanbanLink();
 
-         }
 
-     }
 
- }
 
 
  |