Church.Net.API/Church.Net.WebAPI/Controllers/LineMessagingAccountController.cs
2024-05-02 15:24:13 -07:00

49 lines
1.3 KiB
C#

using Church.Net.Entity;
using Church.Net.Entity.Messenger;
using LineMessaging;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Threading.Tasks;
using WebAPI.Logics;
using WebAPI.Logics.Interface;
namespace WebAPI.Controllers
{
[Route("[controller]/[action]")]
[ApiController]
public class LineMessagingAccountController : ApiControllerBase<LineMessagingAccount>
{
public LineMessagingAccountController(LineMessagingAccountLogic logic) : base(logic)
{
}
[HttpGet]
public void RefreshAllQuota()
{
foreach (var item in logic.GetAll())
{
if (!string.IsNullOrWhiteSpace(item.ChatToken))
{
var lineMessegeClient = new LineMessagingClient(item.ChatToken);
item.TotalUsage = lineMessegeClient.GetTotalUsage().Result;
logic.Update(item);
}
}
}
}
[Route("[controller]/[action]")]
[ApiController]
public class LineClientController : ApiControllerBase<LineMessageClient>
{
public LineClientController(ICrudLogic<LineMessageClient> logic) : base(logic)
{
}
}
}