27 lines
629 B
C#
27 lines
629 B
C#
using Microsoft.AspNetCore.Mvc;
|
|
using MQTTnet;
|
|
using backend.Application;
|
|
using backend.Models;
|
|
|
|
namespace backend.Controllers;
|
|
|
|
[ApiController]
|
|
public class DispenserController : ControllerBase
|
|
{
|
|
[HttpPost("Dispense")]
|
|
public void Dispense()
|
|
{
|
|
Console.WriteLine("Dispensing..");
|
|
|
|
var message = new MqttApplicationMessageBuilder()
|
|
.WithTopic("dispense")
|
|
.WithPayload("dispense")
|
|
.Build();
|
|
|
|
ApplicationState.DbContext!.Add(new DispenserLog { Timestamp = DateTime.Now });
|
|
ApplicationState.DbContext!.SaveChanges();
|
|
|
|
ApplicationState.MqttClient!.PublishAsync(message, CancellationToken.None);
|
|
}
|
|
}
|