112 lines
3.0 KiB
C#
112 lines
3.0 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using PSTW_CentralSystem.Areas.OTcalculate.Models;
|
|
using PSTW_CentralSystem.DBContext;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace PSTW_CentralSystem.Areas.OTcalculate.Controllers
|
|
{
|
|
[Area("OTcalculate")]
|
|
public class HrDashboardController : Controller
|
|
{
|
|
private readonly CentralSystemContext _context;
|
|
|
|
public HrDashboardController(CentralSystemContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
|
|
public IActionResult Rate()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public IActionResult OtApproval()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public IActionResult Settings()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public IActionResult Calendar()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
#region Rates
|
|
[HttpPost("UpdateRates")]
|
|
public async Task<IActionResult> UpdateRate([FromBody] List<RateModel> rates)
|
|
{
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return BadRequest(ModelState);
|
|
}
|
|
|
|
try
|
|
{
|
|
foreach (var Rate in rates)
|
|
{
|
|
var existingRate = await _context.Rates.FindAsync(Rate.RateId);
|
|
if (existingRate != null)
|
|
{
|
|
existingRate.RateValue = Rate.RateValue;
|
|
_context.Rates.Update(existingRate);
|
|
}
|
|
}
|
|
|
|
await _context.SaveChangesAsync();
|
|
|
|
var updateRates = await _context.Rates
|
|
.Include(rates => rates.Users)
|
|
.Select(rates => new
|
|
{
|
|
rates.RateId,
|
|
rates.RateValue,
|
|
rates.UserId,
|
|
FullName = rates.Users.FullName,
|
|
DepartmentName = rates.Users.DepartmentName
|
|
})
|
|
.ToListAsync();
|
|
|
|
return Json(updateRates);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return BadRequest(ex.Message);
|
|
}
|
|
}
|
|
[HttpPost("GetUserRates")]
|
|
public async Task<IActionResult> GetUserRates()
|
|
{
|
|
try
|
|
{
|
|
var userRates = await _context.Rates
|
|
.Include(rates => rates.Users)
|
|
.Select(rates => new
|
|
{
|
|
rates.RateId,
|
|
rates.RateValue,
|
|
rates.UserId,
|
|
FullName = rates.Users.FullName,
|
|
DepartmentName = rates.Users.DepartmentName
|
|
})
|
|
.ToListAsync();
|
|
|
|
return Json(userRates);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return BadRequest(ex.Message);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|