AssignmentAppointment.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.Windows.Media.Imaging;
  5. using InABox.Core;
  6. using InABox.WPF;
  7. namespace PRSDesktop
  8. {
  9. public class AssignmentAppointment : CalendarAppointment<AssignmentModel>
  10. {
  11. // public override DateTime StartTime { get; set; }
  12. // public override DateTime EndTime { get; set; }
  13. // public override string? Notes { get; set; }
  14. // public override BitmapImage? Image { get; set; }
  15. // public override string? Subject { get; set; }
  16. private bool _actual;
  17. public AssignmentAppointment(AssignmentModel model, Func<AssignmentModel?,Guid> employeeid, Func<AssignmentModel?,String> color, bool actual) : base(model, employeeid, color)
  18. {
  19. _actual = actual;
  20. StartTime = Model.Date.Add(_actual ? Model.ActualStart : Model.BookedStart);
  21. EndTime = Model.Date.Add(_actual ? Model.ActualFinish : Model.BookedFinish);
  22. Notes = Model.Notes;
  23. Image _image;
  24. var subject = new List<string>() { model.Number.ToString() };
  25. if (model.JobID != Guid.Empty)
  26. subject.Add(
  27. model.ItpID != Guid.Empty
  28. ? $"{model.JobNumber}-{model.ItpCode}"
  29. : $"{model.JobNumber}"
  30. );
  31. if (model.TaskID != Guid.Empty)
  32. subject.Add($"Task {model.TaskNumber}");
  33. subject.Add(model.Subject ?? "");
  34. Subject = String.Join(" ", subject);
  35. List<Bitmap> images = new List<Bitmap>();
  36. if (!model.Completed.IsEmpty())
  37. images.Add(Resources.tick_sml.Resize(32,32));
  38. if (model.DeliveryID != Guid.Empty)
  39. images.Add(Resources.box_sml.Resize(32,32));
  40. Image = ImageUtils.MergeBitmaps(images, 10)?.AsBitmapImage();
  41. }
  42. }
  43. }