123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- namespace Comal.Classes
- {
- }
- //public class CalendarBooking : BaseObject, IPackable
- // {
- // public Guid Packet { get; set; }
- // public Guid Station { get; set; }
- // public DateTime Start { get; set; }
- // public DateTime End { get; set; }
- // public Boolean IsShared { get; set; }
- // public void Pack(FastBinaryWriter writer)
- // {
- // writer.Write(Packet.ToByteArray());
- // writer.Write(Station.ToByteArray());
- // writer.Write(Start.ToBinary());
- // writer.Write(End.ToBinary());
- // writer.Write(IsShared);
- // }
- // public void Unpack(FastBinaryReader reader)
- // {
- // Packet = new Guid(reader.ReadBytes(16));
- // Station = new Guid(reader.ReadBytes(16));
- // Start = DateTime.FromBinary(reader.ReadInt64());
- // End = DateTime.FromBinary(reader.ReadInt64());
- // IsShared = reader.ReadBoolean();
- // }
- // }
- // [UserTracking(false)]
- //public class Calendar : Entity, IPersistent, IRemotable, ILicense<ManufacturingLicense>
- //{
- // public String Summary { get; set; }
- // public PackableList<CalendarBooking> Bookings { get; set; }
- // public bool IsActive { get; set; }
- // protected override void Init()
- // {
- // Summary = "";
- // Bookings = new PackableList<CalendarBooking>();
- // IsActive = true;
- // }
- // public void Build(ManufacturingPacket[] packets)
- // {
- // this.Bookings.Clear();
- // //Progress.Show("Recalculating Manufacturing Calendar");
- // var config = new GlobalConfiguration<FactorySetup>();
- // FactorySetup settings = config.Load();
- // if (settings.Sections.Count == 0)
- // return;
- // CalendarFactory factory = new CalendarFactory();
- // foreach (FactorySection section in settings.Sections)
- // factory.Sections.Add(new Section(section.Name, section.ID, section.Stations));
- // //Progress.SetMessage("Loading Manufacturing Packets");
- // //var packets = new Client<ManufacturingPacket>().Load(new Filter<ManufacturingPacket>(x => x.Issued).IsNotEqualTo(DateTime.MinValue).And(x => x.IsComplete).IsEqualTo(false), new SortOrder<ManufacturingPacket>(x => x.DueDate));
- // //Progress.SetMessage("Calculating");
- // foreach (ManufacturingPacket packet in packets)
- // {
- // List<Step> steps = new List<Step>();
- // //foreach (SetoutStage stage in packet.Stages)
- // //{
- // // if (stage.Completed.IsEmpty())
- // // steps.Add(new Step(stage.SectionID, stage.Minutes * packet.Quantity, stage.Sequence));
- // //}
- // if (steps.Count > 0)
- // {
- // factory.Widgets.Add(
- // new Widget(packet.ID, packet.SetoutLink.Description, packet.SetoutLink.JobLink.Name, packet.Serial, packet.DueDate, steps.ToArray())
- // );
- // }
- // }
- // StringBuilder summary = new StringBuilder();
- // factory.ProcessWidgets(DateTime.Today.AddHours(7), summary);
- // this.Summary = summary.ToString();
- // //Comal.Classes.Calendar calendar = new Comal.Classes.Calendar()
- // //{
- // // IsActive = true,
- // // Summary = summary.ToString()
- // //};
- // Dictionary<Guid, DateTime> dates = new Dictionary<Guid, DateTime>();
- // foreach (Section section in factory.Sections)
- // {
- // foreach (Station station in section.Stations)
- // {
- // List<Booking> bookings = station.Bookings.OrderBy(x => x.Start).ToList();
- // foreach (Booking booking in bookings)
- // {
- // if (!dates.ContainsKey(booking.Widget.PacketID))
- // dates[booking.Widget.PacketID] = DateTime.MinValue;
- // if (dates[booking.Widget.PacketID].CompareTo(booking.End) < 0)
- // dates[booking.Widget.PacketID] = booking.End;
- // CalendarBooking calendarbooking = new CalendarBooking()
- // {
- // Start = booking.Start,
- // End = booking.End,
- // Packet = booking.Widget.PacketID,
- // Station = station.ID,
- // IsShared = booking.Shared
- // };
- // this.Bookings.Add(calendarbooking);
- // }
- // }
- // }
- // // Need to move this into CalendarStore.. ManufacturingPacketForecast is not remotable..
- // //var fstore = new Client<ManufacturingPacketForecast>();
- // //foreach (Guid setoutid in dates.Keys)
- // //{
- // // ManufacturingPacket packet = packets.Where(x => x.ID.Equals(setoutid)).FirstOrDefault();
- // // if (packet != null)
- // // {
- // // ManufacturingPacketForecast forecast = packet.Forecast;
- // // if (forecast != null)
- // // {
- // // if (forecast.ManufacturingDate.CompareTo(dates[setoutid]) != 0)
- // // {
- // // forecast.ManufacturingDate = dates[setoutid];
- // // fstore.Save(ref forecast, "Updated because of change to Manufacturing Packet");
- // // }
- // // }
- // // }
- // //}
- // //Progress.SetMessage("Saving Updated Calendar");
- // //new Client<Comal.Classes.Calendar>().Save(ref calendar, "Updated because of changed Manufacturing Packet");
- // //Progress.Close();
- // }
- // }
|