// GET: Employees/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Employee employee = await employeeRepository.GetByIdAsync(id.Value); if (employee == null) { return(HttpNotFound()); } if (DateTime.Now >= DateTime.Parse("07/01/2017")) { bonusCalculator = new FY18BonusCalculator(); } else { bonusCalculator = new FY17BonusCalculator(); } ViewBag.BonusAmount = bonusCalculator.GetBonusPercentage(employee) * employee.Salary / 100; ViewBag.NextYearProjectBonus = bonusProjector.GetExpectedBonus(employee.Salary); return(View(employee)); }
/// <summary> /// Virtual method for write-off Bank Account /// </summary> /// <param name="amount">Amount value</param> /// <returns>Amount after write-off</returns> public decimal Withdraw(BankAccount account, decimal amount, IBonusCalculator bonusCalculator) { if (account.IsValidBalance(account, amount)) { account.BonusPoints -= bonusCalculator.CalculateBonusPoints(amount, account); account.Amount -= amount; } return(account.Amount); }
/// <summary> /// Virtual method for write-off from Bank Account /// </summary> /// <param name="amount">Amount value</param> /// <returns>Amount after write-off</returns> public decimal Withdraw(BankAccount account, decimal amount, IBonusCalculator bonusCalculator) { if (!account.IsValidBalance(account, amount)) { throw new ArgumentException("Balance is invalid for withdraw operation"); } else { account.BonusPoints -= bonusCalculator.CalculateBonusPoints(amount, account); account.Amount -= amount; } return(account.Amount); }
/// <summary> /// Initializes a new instance of the <see cref="AccountService"/> class. /// </summary> /// <param name="repository"><see cref="IAccountRepository"/> instance.</param> /// <param name="bonusCalculator"><see cref="IBonusCalculator"/> instance.</param> public AccountService(IAccountRepository repository, IBonusCalculator bonusCalculator) { if (repository is null) { throw new ArgumentNullException(nameof(repository)); } if (bonusCalculator is null) { throw new ArgumentNullException(nameof(bonusCalculator)); } this.repository = repository; this.bonusCalculator = bonusCalculator; }
public BonusPoolController(IHrRepository hrRepository, IBonusCalculator bonusCalculator) { _hrRepository = hrRepository; _bonusCalculator = bonusCalculator; }
/// <summary> /// constructor, coefficient initialization /// </summary> public GoldCash(IBonusCalculator calculator) { BonusesCalculator = calculator; Amount = 0.0; }
public BonusAPI(IBonusCalculator cal) { _cal = cal; }
public EmployeesController(IBonusCalculator bonusCalculator, IEmployeeService employeeService) { _bonusCalculator = bonusCalculator ?? throw new ArgumentNullException(nameof(bonusCalculator)); _employeeService = employeeService ?? throw new ArgumentNullException(nameof(employeeService)); }
public AccountService(IUnitOfWork unitOfWork, IBonusCalculator bonusCalculator) { _unitOfWork = unitOfWork; _bonusCalculator = bonusCalculator; }
/// <summary> /// constructor, coefficient initialization /// </summary> public GoldCash(IBonusCalculator calculator, string id) { BonusesCalculator = calculator; Id = id; Amount = 0.0; }
/// <summary> /// Virtual method for refilling Bank Account /// </summary> /// <param name="amount">Amount value</param> /// <returns>Amount after refilling</returns> public decimal Deposit(BankAccount account, decimal amount, IBonusCalculator bonusCalculator) { account.BonusPoints += bonusCalculator.CalculateBonusPoints(amount, account); return(account.Amount += amount); }
/// <summary> /// constructor, coefficient initialization /// </summary> public PlatinumCash(IBonusCalculator calculator) { BonusesCalculator = calculator; Amount = 0.0; }
/// <summary> /// Change bonus /// </summary> /// <param name="balanceDifference">Balance difference</param> /// <param name="balance">Account balance</param> /// <param name="calculator">Calculator that get the change in bonus points</param> public void ChangeBonus(decimal balanceDifference, decimal balance, IBonusCalculator calculator) { Bonus += calculator.GetBonusDifference(balanceDifference, balance, DifferenceCost, BalanceCost); }
public BonusPoolController(IEmployeeService employeeService, IBonusCalculator bonusCalculator) { _employeeService = employeeService; _bonusCalculator = bonusCalculator; }
public AccountService(IRepository repository, IBonusCalculator bonusCalculator) { this.accountRepository = repository; this.bonusCalculator = bonusCalculator; }
public void AddMoney(decimal sum, IBonusCalculator calculator) { this.Balance += sum; this.Bonus += calculator.CalculateBonus(sum); }