Move contact endpoint from Program.cs into ContactController
Deploy Staging / deploy (push) Successful in 1m11s
Deploy Staging / deploy (push) Successful in 1m11s
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
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,
|
||||
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 });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user