예제 #1
0
        public Guid ProcessRock(RockType rockType, double weight)
        {
            var rockJob = new RockJob(rockType, weight, this);

            _jobCatalogue.Add(rockJob.JobId, rockJob);
            _processJobs.Add(rockJob);
            return(rockJob.JobId);
        }
예제 #2
0
        public override void ProcessRock(RockJob rockJob)
        {
            double variableChange   = RandomDouble(20.0, 30.0);
            var    preProcessWeight = rockJob.CurrentWeight;

            rockJob.CurrentWeight = Math.Round(rockJob.CurrentWeight - ((rockJob.CurrentWeight / 100) * variableChange), 2);
            rockJob.ProcessTime  += preProcessWeight * ProcessTimePerKilo;
            Console.WriteLine("RockCrusher process time {0}", rockJob.ProcessTime);
        }
예제 #3
0
        public override void ProcessRock(RockJob rockJob)
        {
            double variableChange   = RandomDouble(MinProcessDegredation, MaxProcessDegredation);
            var    preProcessWeight = rockJob.CurrentWeight;

            rockJob.CurrentWeight = Math.Round(rockJob.CurrentWeight - ((rockJob.CurrentWeight / 100) * variableChange), 2);
            rockJob.ProcessTime  += preProcessWeight * ProcessTimePerKilo;
            Console.WriteLine("RockSmoother process time {0}", rockJob.ProcessTime);
        }
예제 #4
0
 public abstract void ProcessRock(RockJob rockJob);
예제 #5
0
 private void ProcessJob(RockJob processJob)
 {
     _rockJobProcessor.Process(processJob);
 }