hrms-api-exam/Services/DisableService.cs
2023-04-29 10:26:03 +07:00

65 lines
No EOL
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Recurit.Exam.Service.Data;
using BMA.EHR.Recurit.Exam.Service.Models.Disables;
namespace BMA.EHR.Recurit.Exam.Service.Services
{
public class DisableService
{
private readonly ApplicationDbContext _context;
public DisableService(ApplicationDbContext context)
{
_context = context;
}
public int GetExamCount(string citizenId)
{
try
{
var count = _context.Disables.AsQueryable()
.Where(x => x.CitizenId == citizenId)
.Count();
return count;
}
catch
{
throw;
}
}
public async Task<string> GetExamAttributeAsync(Guid period, Guid exam)
{
try
{
var payment = await _context.DisablePayments.AsQueryable()
.Include(x => x.Disable)
.ThenInclude(x => x.PeriodExam)
.Where(x => x.Disable.Id == exam)
.Where(x => x.Disable.PeriodExam.Id == period)
.FirstOrDefaultAsync();
return payment != null ? "มีคุณสมบัติ" : "ไม่มีคุณสมบัติ";
}
catch
{
throw;
}
}
public bool CheckValidCertificate(DateTime certDate, int nextYear = 5)
{
var valid = true;
if (DateTime.Now.Date > certDate.Date.AddYears(nextYear))
valid = false;
return valid;
}
}
}