//filter to specific openings. public Schedule ScheduleWithFilter(DateTime targetDate, TimeSlot timeSlot = null, InstallZone installZone = null, bool install = false) { Openings.Clear(); Openings = AvailableOpenings(targetDate, timeSlot, installZone, install); return(this); }
public Openings Clone(Openings Opening) { //Openings Opening = new Openings(); Opening.InstallZoneId = InstallZoneId; Opening.InstallZone = InstallZone; Opening.TimeSlotId = TimeSlotId; Opening.TimeSlot = TimeSlot; Opening.Amount = Amount; Opening.AvailableAmount = AvailableAmount; Opening.Day = Day; return(Opening); }
public Schedule Clone(Schedule schedule) { //lazy cloning, for the time being. Definitely need to improve this later. schedule.DefaultOption = this.DefaultOption; schedule.Date = this.Date; schedule.Active = this.Active; schedule.Openings = new List <Openings>(); var OpeningsForMe = Openings.Where(x => x.ScheduleID == ScheduleId).ToList(); for (int i = 0; i < OpeningsForMe.Count; i++) { Openings myOpening = new Openings(); myOpening = OpeningsForMe[i].Clone(myOpening); schedule.Openings.Add(myOpening); } return(schedule); }