예제 #1
0
        private async Task <CarbonFootprintResult> CalculatePaperEmmision(PaperOption paperOption, TimeOption timeOption)
        {
            var yearlyWeight = (paperOption.GetLbsWeight() / timeOption.GetDays()) * TimeOption.year.GetDays();

            var response = await emissionClient.GetPaperEmission(yearlyWeight);

            return(mapper.Map <CarbonFootprintResult>(response));
        }
예제 #2
0
        public static double GetAverageValue(this PaperOption option)
        {
            switch (option)
            {
            case (PaperOption.LessThan100):
                return(66.67);    // calculated empiricaly based on opencard stats of approximate dayly processing equal ~1k samples (15 per 1 page)

            case (PaperOption.From100To500):
                return(368);

            case (PaperOption.From500To1k):
                return(835);

            case (PaperOption.From1kTo10k):
                return(4333);

            case (PaperOption.MoreThan10k):
                return(21718);

            default:
                return(0);
            }
        }
예제 #3
0
        public static string GetDescription(this PaperOption option)
        {
            switch (option)
            {
            case (PaperOption.LessThan100):
                return("Less than 100");

            case (PaperOption.From100To500):
                return("100-500");

            case (PaperOption.From500To1k):
                return("500-1,000");

            case (PaperOption.From1kTo10k):
                return("1,000-10,000");

            case (PaperOption.MoreThan10k):
                return("More than 10,000");

            default:
                return("Don't use paper");
            }
        }
예제 #4
0
 public static double GetLbsWeight(this PaperOption option)
 {
     return(option.GetAverageValue() * OnePaperWeightLbs);
 }