Add project files.

This commit is contained in:
2025-05-01 15:18:30 +03:00
parent e058ab8015
commit 774d695414
3094 changed files with 1336814 additions and 0 deletions

View File

@@ -0,0 +1,118 @@
using AutoMapper;
using ConstructorApp.BusinessLayer.Abstract;
using ConstructorApp.DtoLayer.ProjectDto;
using ConstructorApp.EntityLayer.Entities;
using Microsoft.AspNetCore.Mvc;
namespace ConstructorAppApi.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ProjectController : ControllerBase
{
private readonly IProjectService _projectService;
private readonly IMapper _mapper;
public ProjectController(IProjectService projectService, IMapper mapper)
{
_projectService = projectService;
_mapper = mapper;
}
[HttpGet]
public IActionResult ProjectList()
{
var value = _projectService.TGetListAll();
var result = _mapper.Map<List<ResultProjectDto>>(value);
return Ok(result);
}
[HttpPost]
public IActionResult CreateProject(CreateProjectDto createProjectDto)
{
var value = _mapper.Map<Project>(createProjectDto);
_projectService.TAdd(value);
return Ok("Proje Bilgisi Eklendi");
}
[HttpDelete("{id}")]
public IActionResult DeleteProject(int id)
{
var value = _projectService.TGetByID(id);
if (value != null)
{
_projectService.TDelete(value);
return Ok("Proje Bilgisi Silindi");
}
return NotFound("Proje Bilgisi Bulunamadı");
}
[HttpPut]
public IActionResult UpdateProject(UpdateProjectDto updateProjectDto)
{
var value = _mapper.Map<Project>(updateProjectDto);
_projectService.TUpdate(value);
return Ok("Proje Alanı Güncellendi");
}
[HttpGet("{id}")]
public IActionResult GetProject(int id)
{
var value = _projectService.TGetByID(id);
if (value != null)
{
var result = _mapper.Map<ResultProjectDto>(value);
return Ok(result);
}
return NotFound("Proe Bilgisi Bulunamadı");
}
[HttpGet("ProjectStatusActive/{id}")]
public IActionResult ProjectStatusActive(int id)
{
_projectService.TProjectStatusActive(id);
return Ok("Proje Aktif Hale Getirildi");
}
[HttpGet("ProjectStatusPassive/{id}")]
public IActionResult ProjectStatusPassive(int id)
{
_projectService.TProjectStatusPassive(id);
return Ok("Proje Pasif Hale Getirildi");
}
[HttpGet("CountAll")]
public IActionResult CountAll()
{
return Ok(_projectService.TCountAll());
}
[HttpGet("GetBySlug/{slug}")]
public IActionResult GetBySlug(string slug)
{
var project = _projectService.TGetProjectWithImagesBySlug(slug);
if (project == null)
return NotFound();
var dto = new ResultProjectDto
{
ProjectID = project.ProjectID,
Title = project.Title,
CoverUrl = project.CoverUrl,
Date = project.Date,
Location = project.Location,
ShortDescription = project.ShortDescription,
LongDescription = project.LongDescription,
GoogleMapIFrame = project.GoogleMapIFrame,
VideoUrl = project.VideoUrl,
FloorPlanUrl = project.FloorPlanUrl,
IsActive = project.IsActive,
Slug = project.Slug,
ImageUrls = project.ProjectGallery?.Select(g => g.ImageUrl!).ToList()
};
return Ok(dto);
}
}
}