Files
constructdemo/ConstructorAppApi/Controllers/ContactUsController.cs
2025-05-01 15:18:30 +03:00

103 lines
3.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using AutoMapper;
using ConstructorApp.BusinessLayer.Abstract;
using ConstructorApp.DtoLayer.ContactUsDto;
using ConstructorApp.EntityLayer.Entities;
using Microsoft.AspNetCore.Mvc;
namespace ConstructorAppApi.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ContactUsController : ControllerBase
{
private readonly IContactUsService _contactUsService;
private readonly IMapper _mapper;
public ContactUsController(IContactUsService contactUsService, IMapper mapper)
{
_contactUsService = contactUsService;
_mapper = mapper;
}
[HttpGet]
public IActionResult ContactUsList()
{
var value = _contactUsService.TGetListAll();
var result = _mapper.Map<List<ResultContactUsDto>>(value);
return Ok(result);
}
[HttpPost]
public async Task<IActionResult> CreateContactUsAsync(CreateContactUsDto createContactUsDto)
{
if (ModelState.IsValid)
{
ContactUs contactus = new ContactUs()
{
NameSurname = createContactUsDto.NameSurname,
Mail = createContactUsDto.Mail,
Phone = createContactUsDto.Phone,
MessageContent = createContactUsDto.MessageContent,
Date = DateTime.Now,
Status = false
};
_contactUsService.TAdd(contactus);
return Ok(new { message = "İletişim Bilgisi Başarılı Bir Şekilde Eklendi" });
}
return BadRequest(ModelState);
}
[HttpDelete("{id}")]
public IActionResult DeleteContactUs(int id)
{
var value = _contactUsService.TGetByID(id);
if (value != null)
{
_contactUsService.TDelete(value);
return Ok("İletişim Bilgisi Silindi");
}
return NotFound("İletişim Bilgisi Bulunamadı");
}
[HttpPut]
public IActionResult UpdateContactUs(UpdateContactUsDto updateContactUsDto)
{
var value = _mapper.Map<ContactUs>(updateContactUsDto);
_contactUsService.TUpdate(value);
return Ok("İletişim Alanı Güncellendi");
}
[HttpGet("{id}")]
public IActionResult GetContactUs(int id)
{
var value = _contactUsService.TGetByID(id);
if (value != null)
{
var result = _mapper.Map<ResultContactUsDto>(value);
return Ok(result);
}
return NotFound("İletişim Bilgisi Bulunamadı");
}
[HttpGet("CountAll")]
public IActionResult CountAll()
{
return Ok(_contactUsService.TCountAll());
}
[HttpGet("CountByStatusPending")]
public IActionResult CountByStatusPending()
{
return Ok(_contactUsService.TCountByStatusPending());
}
[HttpGet("MarkAsRead/{id}")]
public IActionResult MarkAsRead(int id)
{
_contactUsService.TMarkAsRead(id);
return Ok("Gelen Mesaj Okundu");
}
}
}