| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Windows.Media.Imaging;
- using Comal.Classes;
- using Geocoding;
- using InABox.Core;
- using InABox.WPF;
- namespace PRSDesktop
- {
- public class AssignmentAppointment : CalendarAppointment<Assignment>
- {
- public CalendarAssignmentType AssignmentType { get; }
- public override TimeSpan StartTime => AssignmentType switch
- {
- CalendarAssignmentType.Booked => Model.Booked.Start,
- CalendarAssignmentType.Actual => Model.Actual.Start,
- _ => Model.EffectiveStartTime()
- };
- public override TimeSpan EndTime => AssignmentType switch
- {
- CalendarAssignmentType.Booked => Model.Booked.Finish,
- CalendarAssignmentType.Actual => Model.Actual.Finish,
- _ => Model.EffectiveFinishTime()
- };
- public override DateTime Date => Model.Date;
-
- public AssignmentAppointment(Assignment model, Employee employee, CalendarAssignmentType type)
- : base(model, employee, x => x.ActivityLink.Color)
- {
- AssignmentType = type;
-
- Notes = Model.Description;
-
- var subject = new List<string>() { model.Number.ToString() };
- if (model.JobLink.ID != Guid.Empty)
- subject.Add(
- model.ITP.ID != Guid.Empty
- ? $"{model.JobLink.JobNumber}-{model.ITP.Code}"
- : $"{model.JobLink.JobNumber}"
- );
- if (model.Task.ID != Guid.Empty)
- subject.Add($"Task {model.Task.Number}");
- if (model.Meeting.Link.ID != Guid.Empty)
- subject.Add($"Mtg {model.Meeting.Link.Number}");
-
- subject.Add(model.Title ?? "");
- Subject = string.Join(" ", subject);
- var images = new List<Bitmap>();
- if (!model.Completed.IsEmpty())
- images.Add(Resources.tick_sml.Resize(32,32));
- if (model.Delivery.ID != Guid.Empty)
- images.Add(Resources.box_sml.Resize(32,32));
- if (model.Meeting.Link.ID != Guid.Empty)
- images.Add(Resources.employees.Resize(32,32));
- Image = ImageUtils.MergeBitmaps(images, 10)?.AsBitmapImage();
- }
-
- }
- }
|