Files
Bewerbungs-Portfolio/RazorPagesMovie/Controllers/Api/V1/ContactController.cs
T
Francesco Lorenzo D'Amico 863a57595e
Deploy Staging / deploy (push) Successful in 1m11s
Require subject and validate contact form fields before submit
2026-08-21 15:32:54 +02:00

37 lines
1.2 KiB
C#

using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Mvc;
using RazorPagesMovie.Api.V1.Contact;
using RazorPagesMovie.Data;
using RazorPagesMovie.Models;
namespace RazorPagesMovie.Controllers.Api.V1;
[ApiController]
[Route("api/v1/[controller]")]
public class ContactController(RazorPagesMovieContext context) : ControllerBase
{
[HttpPost]
public async Task<IActionResult> Post(ContactDto request)
{
var contactMessage = new ContactMessage
{
Name = request.Name ?? string.Empty,
Email = request.Email ?? string.Empty,
Phone = request.Phone,
Subject = request.Subject ?? string.Empty,
Message = request.Message ?? string.Empty
};
var validationResults = new List<ValidationResult>();
if (!Validator.TryValidateObject(contactMessage, new ValidationContext(contactMessage), validationResults, validateAllProperties: true))
{
return BadRequest(new { error = "Bitte alle Pflichtfelder korrekt ausfüllen." });
}
context.ContactMessage.Add(contactMessage);
await context.SaveChangesAsync();
return Ok(new { success = true });
}
}