Exemplo n.º 1
0
        public double GetProductEstimatedTotalCost(EstimatedTotalCostViewModel estimatedTotalCostViewModel)
        {
            try
            {
                const int DAYS_OF_YEAR = 365;
                const int PERIOD       = 12;

                ExceptionHandler.ValidateId(estimatedTotalCostViewModel.Id);

                if (_products.Any(p => p.Id == estimatedTotalCostViewModel.Id))
                {
                    var product = _products
                                  .Where(p => p.Id == estimatedTotalCostViewModel.Id)
                                  .First();

                    return((product.DailyStandingCharge * DAYS_OF_YEAR + estimatedTotalCostViewModel.EstimatedConsumption * product.Rate) * product.ContractLength / PERIOD);
                }
                else
                {
                    throw new InvalidProductException("Product not found");
                }
            }
            catch (InvalidProductException ex)
            {
                throw ex;
            }
        }
 public double GetEstimatedTotalCost([FromBody] EstimatedTotalCostViewModel estimatedTotalCostViewModel)
 {
     return(_productBusiness.GetProductEstimatedTotalCost(estimatedTotalCostViewModel));
 }