Пример #1
0
        //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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }