/************* * Constructor ************/ public ArriveAtCallCenter(Entity eventEntity, DateTime eventTime, StatisticsHandler stats, Calendar calendar, List <Queue> queueList, int maxQueueLength, IVRUnit ivr) : base(eventEntity, eventTime, stats, calendar) { this.eventName = EVENT_NAME; this.queueList = queueList; this.ivr = ivr; this.maxQueueLength = maxQueueLength; }//End Constructor.
/************** * Constructor. *************/ public CompleteIVRService(Entity eventEntity, DateTime eventTime, StatisticsHandler stats, Queue queue, Calendar calendar, IVRUnit ivr) : base(eventEntity, eventTime, stats, calendar) { this.eventName = EVENT_NAME; this.queue = queue; this.ivr = ivr; //Add the event entity to the IVR's entity list. this.ivr.AddEntity(eventEntity); }//End Constructor.
/************* * Constructor ************/ public Simulation(int simTime, int maxOnHold, int eventSleepLength, int serviceRepsCarAudio, int serviceRepsOther, double timeModCarStereoService, double timeModOtherService, double timeModCallArrival, double timeModIvr, Random r, int percentCarStereoCalls, int excessiveWaitMinutes, string[] productTypes) { this.maxOnHold = maxOnHold; this.threadSleepTime = eventSleepLength; this.simStartTime = new DateTime(CONTROL_YEAR, CONTROL_MONTH, CONTROL_DAY, 0, 0, 0); this.simEndTime = new DateTime(CONTROL_YEAR, CONTROL_MONTH, CONTROL_DAY, 0, 0, 0); this.simEndTime = simEndTime.AddMinutes(simTime); this.dice = new Dice(r); this.entityList = new List <Entity>(); this.stats = new StatisticsHandler(excessiveWaitMinutes, productTypes); this.calendar = new Calendar(simStartTime); this.ivr = new IVRUnit(timeModIvr, dice); //Initialize the factories used in this simulation. InitFactories(timeModCallArrival, percentCarStereoCalls, r, productTypes); //Initialize the service desks and queues used in this simulation. InitServiceDesksAndQueues(serviceRepsCarAudio, serviceRepsOther, timeModCarStereoService, timeModOtherService); }//End constructor.