Example #1
0
        // GET: BonusPool
        public ActionResult Index()
        {
            var model = new BonusPoolCalculatorViewModel
            {
                // todo make API model
                AllEmployees = _mappable.Map <IEnumerable <HrEmployeeViewModel> >(_service.GetAll())
            };

            return(View(model));
        }
Example #2
0
        public void CalculationWhereUserNotFoundReturns404()
        {
            var serviceMock = new Mock <IBonusPoolService>();


            serviceMock
            .Setup(s => s.GetAll())
            .Returns(_stubEmployees);

            serviceMock.Setup(x =>
                              x.Calculate(It.IsAny <BonusPoolCalculatorDomainModel>()))
            .Throws <EmployeeNotFoundException>();

            var model = new BonusPoolCalculatorViewModel();

            var actual =
                new BonusPoolController(serviceMock.Object, new MappingHelper <ApiMapperProfile>())
                .Calculate(model);

            Assert.IsInstanceOfType(actual, typeof(HttpNotFoundResult));
        }
Example #3
0
        public ActionResult Calculate(BonusPoolCalculatorViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException("BonusPoolCalculatorViewModel shouldn't be null");
            }

            BonusPoolCalculatorResultViewModel result;

            try
            {
                var domainModel  = _mappable.Map <BonusPoolCalculatorDomainModel>(viewModel);
                var domainResult = _service.Calculate(domainModel);
                result = _mappable.Map <BonusPoolCalculatorResultViewModel>(domainResult);
            }
            catch (EmployeeNotFoundException)
            {
                return(new HttpNotFoundResult($"Employee was not found."));
            }

            return(View(result));
        }