public async Task CreateAsync(EmployeeSaveRequest request) { var calculator = _salaryCalculatorFactory.GetInstance(request.SalaryModel.Type); var salarySum = calculator.Calculate(request.SalaryModel); var employee = new Employee { Name = request.Name, SalarySum = salarySum }; await _repository.AddAsync(employee); }
public async Task UpdateAsync(int id, EmployeeSaveRequest request) { var calculator = _salaryCalculatorFactory.GetInstance(request.SalaryModel.Type); var salarySum = calculator.Calculate(request.SalaryModel); var employee = await _reader.GetByIdAsync(id); employee.Name = request.Name; employee.SalarySum = salarySum; await _repository.UpdateAsync(employee); }