[英]ASP.NET Core 5 MVC Calculate Salary with Employee Rank
我正在開發一個 MVC 應用程序。 我想創造員工。 當我創建員工時,我會添加 1-10 之間的等級。 我希望這個排名乘以恆定的工資系數。 例如,我創建了一個等級為 5 的員工。在創建它時,我希望等級 5 乘以一個恆定的工資系數,例如 1.125。
我的 Model:
public class Employee
{
public int Id { get; set; }
[DisplayName("First Name")]
[Required]
public string FirstName { get; set; }
[DisplayName("Last Name")]
[Required]
public string LastName { get; set; }
[DisplayName("Rank")]
[Range(1, 10)]
[Required]
public decimal Salary { get; set; }
public bool IsCEO { get; set; }
public bool IsManager { get; set; }
public int ManangerId { get; set; }
}
這是我在 controller 中創建的 function
public async Task<IActionResult> AddEmployee([Bind("Id,FirstName,LastName,Salary,IsCEO,IsManager,ManangerId")] Employee employee)
{
//Employee CalculateSalary = _context.Employees.FirstOrDefault(
// s => s.Salary == CalculateSalary.Salary);
if (ModelState.IsValid)
{
_context.Add(employee);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(employee);
}
關於我如何做到這一點的任何想法? 這可以在我的 controller 或其他東西中完成嗎? 也許某種幫手 class?
public async Task<IActionResult> AddEmployee([Bind("Id,FirstName,LastName,Salary,IsCEO,IsManager,ManangerId")] Employee employee)
{
//Added this code
var coefficent = (employee.IsCEO) ? 2.725 : (employee.IsManager) ? 1.725 : 1.125;
employee.Salary = Convert.ToDecimal(coefficent) * employee.Salary;
if (ModelState.IsValid)
{
_context.Add(employee);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(employee);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.