Add project files.
This commit is contained in:
26
ConstructorAppApi/ConstructorAppApi.csproj
Normal file
26
ConstructorAppApi/ConstructorAppApi.csproj
Normal file
@@ -0,0 +1,26 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<UserSecretsId>67552c57-0653-4a0f-a7a7-adb70afe3280</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AutoMapper" Version="13.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ConstructorApp.BusinessLayer\ConstructorApp.BusinessLayer.csproj" />
|
||||
<ProjectReference Include="..\ConstructorApp.DtoLayer\ConstructorApp.DtoLayer.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
6
ConstructorAppApi/ConstructorAppApi.http
Normal file
6
ConstructorAppApi/ConstructorAppApi.http
Normal file
@@ -0,0 +1,6 @@
|
||||
@ConstructorAppApi_HostAddress = http://localhost:5112
|
||||
|
||||
GET {{ConstructorAppApi_HostAddress}}/weatherforecast/
|
||||
Accept: application/json
|
||||
|
||||
###
|
||||
63
ConstructorAppApi/Controllers/CompanyInfoController.cs
Normal file
63
ConstructorAppApi/Controllers/CompanyInfoController.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.CompanyInfoDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class CompanyInfoController : ControllerBase
|
||||
{
|
||||
private readonly ICompanyInfoService _companyInfoService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public CompanyInfoController(ICompanyInfoService companyInfoService, IMapper mapper)
|
||||
{
|
||||
_companyInfoService = companyInfoService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CompanyInfoList()
|
||||
{
|
||||
var value = _companyInfoService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultCompanyInfoDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteCompanyInfo(int id)
|
||||
{
|
||||
var value = _companyInfoService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_companyInfoService.TDelete(value);
|
||||
return Ok("Hakkımızda Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Hakkımızda Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateCompanyInfo(UpdateCompanyInfoDto updateCompanyInfoDto)
|
||||
{
|
||||
var value = _mapper.Map<CompanyInfo>(updateCompanyInfoDto);
|
||||
_companyInfoService.TUpdate(value);
|
||||
return Ok("Hakkımızda Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetCompanyInfo(int id)
|
||||
{
|
||||
var value = _companyInfoService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultCompanyInfoDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Hakkımızda Bilgisi Bulunamadı");
|
||||
}
|
||||
}
|
||||
}
|
||||
62
ConstructorAppApi/Controllers/CompanyInfoVideoController.cs
Normal file
62
ConstructorAppApi/Controllers/CompanyInfoVideoController.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.CompanyInfoVideoDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class CompanyInfoVideoController : ControllerBase
|
||||
{
|
||||
private readonly ICompanyInfoVideoService _companyInfoVideoService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public CompanyInfoVideoController(ICompanyInfoVideoService companyInfoVideoService, IMapper mapper)
|
||||
{
|
||||
_companyInfoVideoService = companyInfoVideoService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult CompanyInfoVideoList()
|
||||
{
|
||||
var value = _companyInfoVideoService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultCompanyInfoVideoDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteCompanyInfoVideo(int id)
|
||||
{
|
||||
var value = _companyInfoVideoService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_companyInfoVideoService.TDelete(value);
|
||||
return Ok("Hakkımızda Video Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Hakkımızda Video Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateCompanyInfoVideo(UpdateCompanyInfoVideoDto updateCompanyInfoVideoDto)
|
||||
{
|
||||
var value = _mapper.Map<CompanyInfoVideo>(updateCompanyInfoVideoDto);
|
||||
_companyInfoVideoService.TUpdate(value);
|
||||
return Ok("Hakkımızda Video Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetCompanyInfoVideo(int id)
|
||||
{
|
||||
var value = _companyInfoVideoService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultCompanyInfoVideoDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Hakkımızda Video Bilgisi Bulunamadı");
|
||||
}
|
||||
}
|
||||
}
|
||||
102
ConstructorAppApi/Controllers/ContactUsController.cs
Normal file
102
ConstructorAppApi/Controllers/ContactUsController.cs
Normal file
@@ -0,0 +1,102 @@
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
63
ConstructorAppApi/Controllers/FooterController.cs
Normal file
63
ConstructorAppApi/Controllers/FooterController.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.FooterDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class FooterController : ControllerBase
|
||||
{
|
||||
private readonly IFooterService _footerService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public FooterController(IFooterService footerService, IMapper mapper)
|
||||
{
|
||||
_footerService = footerService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult FooterList()
|
||||
{
|
||||
var value = _footerService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultFooterDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteFooter(int id)
|
||||
{
|
||||
var value = _footerService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_footerService.TDelete(value);
|
||||
return Ok("Footer Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Footer Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateFooter(UpdateFooterDto updateFooterDto)
|
||||
{
|
||||
var value = _mapper.Map<Footer>(updateFooterDto);
|
||||
_footerService.TUpdate(value);
|
||||
return Ok("Footer Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetFooter(int id)
|
||||
{
|
||||
var value = _footerService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultFooterDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Footer Bilgisi Bulunamadı");
|
||||
}
|
||||
}
|
||||
}
|
||||
70
ConstructorAppApi/Controllers/HomeBannerController.cs
Normal file
70
ConstructorAppApi/Controllers/HomeBannerController.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.HomeBannerDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class HomeBannerController : ControllerBase
|
||||
{
|
||||
private readonly IHomeBannerService _homeBannerService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public HomeBannerController(IHomeBannerService homeBannerService, IMapper mapper)
|
||||
{
|
||||
_homeBannerService = homeBannerService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult HomeBannerList()
|
||||
{
|
||||
var value = _homeBannerService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultHomeBannerDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateHomeBanner(CreateHomeBannerDto createHomeBannerDto)
|
||||
{
|
||||
var value = _mapper.Map<HomeBanner>(createHomeBannerDto);
|
||||
_homeBannerService.TAdd(value);
|
||||
return Ok("Banner Bilgisi Eklendi");
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteHomeBanner(int id)
|
||||
{
|
||||
var value = _homeBannerService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_homeBannerService.TDelete(value);
|
||||
return Ok("Banner Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Banner Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateHomeBanner(UpdateHomeBannerDto updateHomeBannerDto)
|
||||
{
|
||||
var value = _mapper.Map<HomeBanner>(updateHomeBannerDto);
|
||||
_homeBannerService.TUpdate(value);
|
||||
return Ok("Banner Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetHomeBanner(int id)
|
||||
{
|
||||
var value = _homeBannerService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultHomeBannerDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Banner Bilgisi Bulunamadı");
|
||||
}
|
||||
}
|
||||
}
|
||||
118
ConstructorAppApi/Controllers/ProjectController.cs
Normal file
118
ConstructorAppApi/Controllers/ProjectController.cs
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
77
ConstructorAppApi/Controllers/ProjectGalleryController.cs
Normal file
77
ConstructorAppApi/Controllers/ProjectGalleryController.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.ProjectGalleryDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class ProjectGalleryController : ControllerBase
|
||||
{
|
||||
private readonly IProjectGalleryService _projectGalleryService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public ProjectGalleryController(IProjectGalleryService projectGalleryService, IMapper mapper)
|
||||
{
|
||||
_projectGalleryService = projectGalleryService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult ProjectGalleryList()
|
||||
{
|
||||
var value = _projectGalleryService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultProjectGalleryDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateProjectGallery(CreateProjectGalleryDto createProjectGalleryDto)
|
||||
{
|
||||
var value = _mapper.Map<ProjectGallery>(createProjectGalleryDto);
|
||||
_projectGalleryService.TAdd(value);
|
||||
return Ok("Galeri Bilgisi Eklendi");
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteProjectGallery(int id)
|
||||
{
|
||||
var value = _projectGalleryService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_projectGalleryService.TDelete(value);
|
||||
return Ok("Galeri Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Galeri Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateProjectGallery(UpdateProjectGalleryDto updateProjectGalleryDto)
|
||||
{
|
||||
var value = _mapper.Map<ProjectGallery>(updateProjectGalleryDto);
|
||||
_projectGalleryService.TUpdate(value);
|
||||
return Ok("Galeri Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetProjectGallery(int id)
|
||||
{
|
||||
var value = _projectGalleryService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultProjectGalleryDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Galeri Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpGet("GetByProjectId/{projectId}")]
|
||||
public IActionResult GetImagesByProjectId(int projectId)
|
||||
{
|
||||
var images = _projectGalleryService.TGetImagesByProjectId(projectId);
|
||||
return Ok(images);
|
||||
}
|
||||
}
|
||||
}
|
||||
76
ConstructorAppApi/Controllers/ReferenceController.cs
Normal file
76
ConstructorAppApi/Controllers/ReferenceController.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.ReferenceDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class ReferenceController : ControllerBase
|
||||
{
|
||||
private readonly IReferenceService _referenceService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public ReferenceController(IReferenceService referenceService, IMapper mapper)
|
||||
{
|
||||
_referenceService = referenceService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult ReferenceList()
|
||||
{
|
||||
var value = _referenceService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultReferenceDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateReference(CreateReferenceDto createReferenceDto)
|
||||
{
|
||||
var value = _mapper.Map<Reference>(createReferenceDto);
|
||||
_referenceService.TAdd(value);
|
||||
return Ok("Referans Bilgisi Eklendi");
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteReference(int id)
|
||||
{
|
||||
var value = _referenceService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_referenceService.TDelete(value);
|
||||
return Ok("Referans Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Referans Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateReference(UpdateReferenceDto updateReferenceDto)
|
||||
{
|
||||
var value = _mapper.Map<Reference>(updateReferenceDto);
|
||||
_referenceService.TUpdate(value);
|
||||
return Ok("Referans Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetReference(int id)
|
||||
{
|
||||
var value = _referenceService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultReferenceDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Referans Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpGet("CountAll")]
|
||||
public IActionResult CountAll()
|
||||
{
|
||||
return Ok(_referenceService.TCountAll());
|
||||
}
|
||||
}
|
||||
}
|
||||
77
ConstructorAppApi/Controllers/ServiceController.cs
Normal file
77
ConstructorAppApi/Controllers/ServiceController.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.ServiceDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class ServiceController : ControllerBase
|
||||
{
|
||||
private readonly IServiceService _serviceService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public ServiceController(IServiceService serviceService, IMapper mapper)
|
||||
{
|
||||
_serviceService = serviceService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult ServiceList()
|
||||
{
|
||||
var value = _serviceService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultServiceDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteService(int id)
|
||||
{
|
||||
var value = _serviceService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_serviceService.TDelete(value);
|
||||
return Ok("Hizmet Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Hizmet Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateService(UpdateServiceDto updateServiceDto)
|
||||
{
|
||||
var value = _mapper.Map<Service>(updateServiceDto);
|
||||
_serviceService.TUpdate(value);
|
||||
return Ok("Hizmet Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetService(int id)
|
||||
{
|
||||
var value = _serviceService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultServiceDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Hizmet Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpGet("ServiceStatusActive/{id}")]
|
||||
public IActionResult ServiceStatusActive(int id)
|
||||
{
|
||||
_serviceService.TServiceStatusActive(id);
|
||||
return Ok("Servis Aktif Hale Getirildi");
|
||||
}
|
||||
|
||||
[HttpGet("ServiceStatusPassive/{id}")]
|
||||
public IActionResult ServiceStatusPassive(int id)
|
||||
{
|
||||
_serviceService.TServiceStatusPassive(id);
|
||||
return Ok("Servis Pasif Hale Getirildi");
|
||||
}
|
||||
}
|
||||
}
|
||||
70
ConstructorAppApi/Controllers/SliderController.cs
Normal file
70
ConstructorAppApi/Controllers/SliderController.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.SliderDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class SliderController : ControllerBase
|
||||
{
|
||||
private readonly ISliderService _sliderService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public SliderController(ISliderService sliderService, IMapper mapper)
|
||||
{
|
||||
_sliderService = sliderService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult SliderList()
|
||||
{
|
||||
var value = _sliderService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultSliderDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateSlider(CreateSliderDto createSliderDto)
|
||||
{
|
||||
var value = _mapper.Map<Slider>(createSliderDto);
|
||||
_sliderService.TAdd(value);
|
||||
return Ok("Slider Bilgisi Eklendi");
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteSlider(int id)
|
||||
{
|
||||
var value = _sliderService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_sliderService.TDelete(value);
|
||||
return Ok("Slider Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Slider Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateSlider(UpdateSliderDto updateSliderDto)
|
||||
{
|
||||
var value = _mapper.Map<Slider>(updateSliderDto);
|
||||
_sliderService.TUpdate(value);
|
||||
return Ok("Slider Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetSlider(int id)
|
||||
{
|
||||
var value = _sliderService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultSliderDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Slider Bilgisi Bulunamadı");
|
||||
}
|
||||
}
|
||||
}
|
||||
70
ConstructorAppApi/Controllers/TeamController.cs
Normal file
70
ConstructorAppApi/Controllers/TeamController.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.TeamDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class TeamController : ControllerBase
|
||||
{
|
||||
private readonly ITeamService _teamService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public TeamController(ITeamService teamService, IMapper mapper)
|
||||
{
|
||||
_teamService = teamService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult TeamList()
|
||||
{
|
||||
var value = _teamService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultTeamDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateTeam(CreateTeamDto createTeamDto)
|
||||
{
|
||||
var value = _mapper.Map<Team>(createTeamDto);
|
||||
_teamService.TAdd(value);
|
||||
return Ok("Team Bilgisi Eklendi");
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteTeam(int id)
|
||||
{
|
||||
var value = _teamService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_teamService.TDelete(value);
|
||||
return Ok("Team Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Team Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateTeam(UpdateTeamDto updateTeamDto)
|
||||
{
|
||||
var value = _mapper.Map<Team>(updateTeamDto);
|
||||
_teamService.TUpdate(value);
|
||||
return Ok("Team Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetTeam(int id)
|
||||
{
|
||||
var value = _teamService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultTeamDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Team Bilgisi Bulunamadı");
|
||||
}
|
||||
}
|
||||
}
|
||||
90
ConstructorAppApi/Controllers/TestimonialController.cs
Normal file
90
ConstructorAppApi/Controllers/TestimonialController.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.TestimonialDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class TestimonialController : ControllerBase
|
||||
{
|
||||
private readonly ITestimonialService _testimonialService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public TestimonialController(ITestimonialService testimonialService, IMapper mapper)
|
||||
{
|
||||
_testimonialService = testimonialService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult TestimonialList()
|
||||
{
|
||||
var value = _testimonialService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultTestimonialDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult CreateTestimonial(CreateTestimonialDto createTestimonialDto)
|
||||
{
|
||||
var value = _mapper.Map<Testimonial>(createTestimonialDto);
|
||||
_testimonialService.TAdd(value);
|
||||
return Ok("Yorum Bilgisi Eklendi");
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteTestimonial(int id)
|
||||
{
|
||||
var value = _testimonialService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_testimonialService.TDelete(value);
|
||||
return Ok("Yorum Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Yorum Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateTestimonial(UpdateTestimonialDto updateTestimonialDto)
|
||||
{
|
||||
var value = _mapper.Map<Testimonial>(updateTestimonialDto);
|
||||
_testimonialService.TUpdate(value);
|
||||
return Ok("Yorum Alanı Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetTestimonial(int id)
|
||||
{
|
||||
var value = _testimonialService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultTestimonialDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Yorum Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpGet("TestimonialStatusActive/{id}")]
|
||||
public IActionResult TestimonialStatusActive(int id)
|
||||
{
|
||||
_testimonialService.TTestimonialStatusActive(id);
|
||||
return Ok("Ürün Kategorisi Aktif Hale Getirildi");
|
||||
}
|
||||
|
||||
[HttpGet("TestimonialStatusPassive/{id}")]
|
||||
public IActionResult TestimonialStatusPassive(int id)
|
||||
{
|
||||
_testimonialService.TTestimonialStatusPassive(id);
|
||||
return Ok("Ürün Kategorisi Pasif Hale Getirildi");
|
||||
}
|
||||
|
||||
[HttpGet("CountAll")]
|
||||
public IActionResult CountAll()
|
||||
{
|
||||
return Ok(_testimonialService.TCountAll());
|
||||
}
|
||||
}
|
||||
}
|
||||
77
ConstructorAppApi/Controllers/WorkProcessController.cs
Normal file
77
ConstructorAppApi/Controllers/WorkProcessController.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using ConstructorApp.DtoLayer.WorkProcessDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ConstructorAppApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class WorkProcessController : ControllerBase
|
||||
{
|
||||
private readonly IWorkProcessService _workProcessService;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public WorkProcessController(IWorkProcessService workProcessService, IMapper mapper)
|
||||
{
|
||||
_workProcessService = workProcessService;
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult WorkProcessList()
|
||||
{
|
||||
var value = _workProcessService.TGetListAll();
|
||||
var result = _mapper.Map<List<ResultWorkProcessDto>>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult DeleteWorkProcess(int id)
|
||||
{
|
||||
var value = _workProcessService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
_workProcessService.TDelete(value);
|
||||
return Ok("Çalışma Şekli Bilgisi Silindi");
|
||||
}
|
||||
return NotFound("Çalışma Şekli Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
public IActionResult UpdateWorkProcess(UpdateWorkProcessDto updateWorkProcessDto)
|
||||
{
|
||||
var value = _mapper.Map<WorkProcess>(updateWorkProcessDto);
|
||||
_workProcessService.TUpdate(value);
|
||||
return Ok("Çalışma Şekli Bilgisi Güncellendi");
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetWorkProcess(int id)
|
||||
{
|
||||
var value = _workProcessService.TGetByID(id);
|
||||
if (value != null)
|
||||
{
|
||||
var result = _mapper.Map<ResultWorkProcessDto>(value);
|
||||
return Ok(result);
|
||||
}
|
||||
return NotFound("Çalışma Şekli Bilgisi Bulunamadı");
|
||||
}
|
||||
|
||||
[HttpGet("ServiceStatusActive/{id}")]
|
||||
public IActionResult ServiceStatusActive(int id)
|
||||
{
|
||||
_workProcessService.TServiceStatusActive(id);
|
||||
return Ok("Çalışma Şekli Aktif Hale Getirildi");
|
||||
}
|
||||
|
||||
[HttpGet("ServiceStatusPassive/{id}")]
|
||||
public IActionResult ServiceStatusPassive(int id)
|
||||
{
|
||||
_workProcessService.TServiceStatusPassive(id);
|
||||
return Ok("Çalışma Şekli Pasif Hale Getirildi");
|
||||
}
|
||||
}
|
||||
}
|
||||
43
ConstructorAppApi/Dockerfile
Normal file
43
ConstructorAppApi/Dockerfile
Normal file
@@ -0,0 +1,43 @@
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
|
||||
USER app
|
||||
WORKDIR /app
|
||||
EXPOSE 8070
|
||||
EXPOSE 8071
|
||||
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
WORKDIR /src
|
||||
COPY ["ConstructorAppApi/ConstructorAppApi.csproj", "ConstructorAppApi/"]
|
||||
COPY ["ConstructorApp.BusinessLayer/ConstructorApp.BusinessLayer.csproj", "ConstructorApp.BusinessLayer/"]
|
||||
COPY ["ConstructorApp.DataAccessLayer/ConstructorApp.DataAccessLayer.csproj", "ConstructorApp.DataAccessLayer/"]
|
||||
COPY ["ConstructorApp.EntityLayer/ConstructorApp.EntityLayer.csproj", "ConstructorApp.EntityLayer/"]
|
||||
COPY ["ConstructorApp.DtoLayer/ConstructorApp.DtoLayer.csproj", "ConstructorApp.DtoLayer/"]
|
||||
RUN dotnet restore "./ConstructorAppApi/ConstructorAppApi.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/ConstructorAppApi"
|
||||
RUN dotnet build "./ConstructorAppApi.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||
|
||||
|
||||
FROM build AS publish
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
RUN dotnet publish "./ConstructorAppApi.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y openssl
|
||||
|
||||
# Create directories for the certificate
|
||||
RUN mkdir -p /app/publish/https
|
||||
|
||||
# Generate a self-signed certificate
|
||||
RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /app/publish/https/aspnetapp.key -out /app/publish/https/aspnetapp.crt -subj "/CN=localhost"
|
||||
RUN openssl pkcs12 -export -out /app/publish/https/aspnetapp.pfx -inkey /app/publish/https/aspnetapp.key -in /app/publish/https/aspnetapp.crt -passout pass:itRkTNSFBEFPqCGdYEuIloyhx
|
||||
|
||||
|
||||
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
|
||||
FROM base AS final
|
||||
USER root
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
RUN chmod -R 777 /app/https
|
||||
ENTRYPOINT ["dotnet", "ConstructorAppApi.dll"]
|
||||
48
ConstructorAppApi/Hubs/SignalRHub.cs
Normal file
48
ConstructorAppApi/Hubs/SignalRHub.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using ConstructorApp.BusinessLayer.Abstract;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
|
||||
namespace ConstructorAppApi.Hubs
|
||||
{
|
||||
public class SignalRHub : Hub
|
||||
{
|
||||
private readonly ITestimonialService _testimonialService;
|
||||
private readonly IContactUsService _contactUsService;
|
||||
private readonly IProjectService _projectService;
|
||||
private readonly IReferenceService _referenceService ;
|
||||
|
||||
public SignalRHub(ITestimonialService testimonialService, IContactUsService contactUsService, IProjectService projectService, IReferenceService referenceService)
|
||||
{
|
||||
_testimonialService = testimonialService;
|
||||
_contactUsService = contactUsService;
|
||||
_projectService = projectService;
|
||||
_referenceService = referenceService;
|
||||
}
|
||||
|
||||
public async Task SendTestimonial()
|
||||
{
|
||||
var values = _testimonialService.TCountAll();
|
||||
await Clients.All.SendAsync("ReceiveTestimonialCountAll", values);
|
||||
}
|
||||
|
||||
public async Task SendContactUs()
|
||||
{
|
||||
var values = _contactUsService.TCountByStatusPending();
|
||||
await Clients.All.SendAsync("ReceiveContactUsCountByStatusPending", values);
|
||||
|
||||
var values1 = _contactUsService.TCountAll();
|
||||
await Clients.All.SendAsync("ReceiveContactUsCountAll", values1);
|
||||
}
|
||||
|
||||
public async Task SendProject()
|
||||
{
|
||||
var value = _projectService.TCountAll();
|
||||
await Clients.All.SendAsync("ReceiveProjectCountAll", value);
|
||||
}
|
||||
|
||||
public async Task SendReference()
|
||||
{
|
||||
var value = _referenceService.TCountAll();
|
||||
await Clients.All.SendAsync("ReceiveReferenceCountAll", value);
|
||||
}
|
||||
}
|
||||
}
|
||||
16
ConstructorAppApi/Mapping/CompanyInfoMapping.cs
Normal file
16
ConstructorAppApi/Mapping/CompanyInfoMapping.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.CompanyInfoDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class CompanyInfoMapping : Profile
|
||||
{
|
||||
public CompanyInfoMapping()
|
||||
{
|
||||
CreateMap<CompanyInfo, ResultCompanyInfoDto>().ReverseMap();
|
||||
CreateMap<CompanyInfo, GetCompanyInfoDto>().ReverseMap();
|
||||
CreateMap<CompanyInfo, UpdateCompanyInfoDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
16
ConstructorAppApi/Mapping/CompanyInfoVideoMapping.cs
Normal file
16
ConstructorAppApi/Mapping/CompanyInfoVideoMapping.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.CompanyInfoVideoDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class CompanyInfoVideoMapping : Profile
|
||||
{
|
||||
public CompanyInfoVideoMapping()
|
||||
{
|
||||
CreateMap<CompanyInfoVideo, ResultCompanyInfoVideoDto>().ReverseMap();
|
||||
CreateMap<CompanyInfoVideo, GetCompanyInfoVideoDto>().ReverseMap();
|
||||
CreateMap<CompanyInfoVideo, UpdateCompanyInfoVideoDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/ContactUsMapping.cs
Normal file
17
ConstructorAppApi/Mapping/ContactUsMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.ContactUsDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class ContactUsMapping : Profile
|
||||
{
|
||||
public ContactUsMapping()
|
||||
{
|
||||
CreateMap<ContactUs, ResultContactUsDto>().ReverseMap();
|
||||
CreateMap<ContactUs, GetContactUsDto>().ReverseMap();
|
||||
CreateMap<ContactUs, CreateContactUsDto>().ReverseMap();
|
||||
CreateMap<ContactUs, UpdateContactUsDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
16
ConstructorAppApi/Mapping/FooterMapping.cs
Normal file
16
ConstructorAppApi/Mapping/FooterMapping.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.FooterDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class FooterMapping : Profile
|
||||
{
|
||||
public FooterMapping()
|
||||
{
|
||||
CreateMap<Footer, ResultFooterDto>().ReverseMap();
|
||||
CreateMap<Footer, GetFooterDto>().ReverseMap();
|
||||
CreateMap<Footer, UpdateFooterDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/HomeBannerMapping.cs
Normal file
17
ConstructorAppApi/Mapping/HomeBannerMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.HomeBannerDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class HomeBannerMapping : Profile
|
||||
{
|
||||
public HomeBannerMapping()
|
||||
{
|
||||
CreateMap<HomeBanner, ResultHomeBannerDto>().ReverseMap();
|
||||
CreateMap<HomeBanner, GetHomeBannerDto>().ReverseMap();
|
||||
CreateMap<HomeBanner, CreateHomeBannerDto>().ReverseMap();
|
||||
CreateMap<HomeBanner, UpdateHomeBannerDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/ProjectGalleryMapping.cs
Normal file
17
ConstructorAppApi/Mapping/ProjectGalleryMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.ProjectGalleryDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class ProjectGalleryMapping : Profile
|
||||
{
|
||||
public ProjectGalleryMapping()
|
||||
{
|
||||
CreateMap<ProjectGallery, ResultProjectGalleryDto>().ReverseMap();
|
||||
CreateMap<ProjectGallery, GetProjectGalleryDto>().ReverseMap();
|
||||
CreateMap<ProjectGallery, CreateProjectGalleryDto>().ReverseMap();
|
||||
CreateMap<ProjectGallery, UpdateProjectGalleryDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/ProjectMapping.cs
Normal file
17
ConstructorAppApi/Mapping/ProjectMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.ProjectDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class ProjectMapping : Profile
|
||||
{
|
||||
public ProjectMapping()
|
||||
{
|
||||
CreateMap<Project, ResultProjectDto>().ReverseMap();
|
||||
CreateMap<Project, GetProjectDto>().ReverseMap();
|
||||
CreateMap<Project, CreateProjectDto>().ReverseMap();
|
||||
CreateMap<Project, UpdateProjectDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/ReferenceMapping.cs
Normal file
17
ConstructorAppApi/Mapping/ReferenceMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.ReferenceDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class ReferenceMapping : Profile
|
||||
{
|
||||
public ReferenceMapping()
|
||||
{
|
||||
CreateMap<Reference, ResultReferenceDto>().ReverseMap();
|
||||
CreateMap<Reference, GetReferenceDto>().ReverseMap();
|
||||
CreateMap<Reference, CreateReferenceDto>().ReverseMap();
|
||||
CreateMap<Reference, UpdateReferenceDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
16
ConstructorAppApi/Mapping/ServiceMapping.cs
Normal file
16
ConstructorAppApi/Mapping/ServiceMapping.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.ServiceDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class ServiceMapping : Profile
|
||||
{
|
||||
public ServiceMapping()
|
||||
{
|
||||
CreateMap<Service, ResultServiceDto>().ReverseMap();
|
||||
CreateMap<Service, GetServiceDto>().ReverseMap();
|
||||
CreateMap<Service, UpdateServiceDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/SliderMapping.cs
Normal file
17
ConstructorAppApi/Mapping/SliderMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.SliderDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class SliderMapping : Profile
|
||||
{
|
||||
public SliderMapping()
|
||||
{
|
||||
CreateMap<Slider, ResultSliderDto>().ReverseMap();
|
||||
CreateMap<Slider, GetSliderDto>().ReverseMap();
|
||||
CreateMap<Slider, CreateSliderDto>().ReverseMap();
|
||||
CreateMap<Slider, UpdateSliderDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/TeamMapping.cs
Normal file
17
ConstructorAppApi/Mapping/TeamMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.TeamDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class TeamMapping : Profile
|
||||
{
|
||||
public TeamMapping()
|
||||
{
|
||||
CreateMap<Team, ResultTeamDto>().ReverseMap();
|
||||
CreateMap<Team, GetTeamDto>().ReverseMap();
|
||||
CreateMap<Team, CreateTeamDto>().ReverseMap();
|
||||
CreateMap<Team, UpdateTeamDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
17
ConstructorAppApi/Mapping/TestimonialMapping.cs
Normal file
17
ConstructorAppApi/Mapping/TestimonialMapping.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.TestimonialDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class TestimonialMapping : Profile
|
||||
{
|
||||
public TestimonialMapping()
|
||||
{
|
||||
CreateMap<Testimonial, ResultTestimonialDto>().ReverseMap();
|
||||
CreateMap<Testimonial, GetTestimonialDto>().ReverseMap();
|
||||
CreateMap<Testimonial, CreateTestimonialDto>().ReverseMap();
|
||||
CreateMap<Testimonial, UpdateTestimonialDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
16
ConstructorAppApi/Mapping/WorkProcessMapping.cs
Normal file
16
ConstructorAppApi/Mapping/WorkProcessMapping.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using AutoMapper;
|
||||
using ConstructorApp.DtoLayer.WorkProcessDto;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
|
||||
namespace ConstructorAppApi.Mapping
|
||||
{
|
||||
public class WorkProcessMapping : Profile
|
||||
{
|
||||
public WorkProcessMapping()
|
||||
{
|
||||
CreateMap<WorkProcess, ResultWorkProcessDto>().ReverseMap();
|
||||
CreateMap<WorkProcess, GetWorkProcessDto>().ReverseMap();
|
||||
CreateMap<WorkProcess, UpdateWorkProcessDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
55
ConstructorAppApi/Program.cs
Normal file
55
ConstructorAppApi/Program.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using ConstructorApp.DataAccessLayer.Concrete;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ConstructorApp.BusinessLayer.Extensions;
|
||||
using ConstructorAppApi.Hubs;
|
||||
using ConstructorApp.EntityLayer.Entities;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
builder.Services.AddCors(opt =>
|
||||
{
|
||||
opt.AddPolicy("CorsPolicy", builder =>
|
||||
{
|
||||
builder.AllowAnyHeader()
|
||||
.AllowAnyMethod()
|
||||
.SetIsOriginAllowed((host) => true)
|
||||
.AllowCredentials();
|
||||
});
|
||||
});
|
||||
builder.Services.AddSignalR();
|
||||
builder.Services.AddDbContext<ConstructorContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("mssql")));
|
||||
// AutoMapper ve di<64>er ba<62><61>ml<6D>l<EFBFBD>klar
|
||||
builder.Services.AddIdentity<AppUser, AppRole>()
|
||||
.AddEntityFrameworkStores<ConstructorContext>()
|
||||
.AddDefaultTokenProviders();
|
||||
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
|
||||
builder.Services.AddBusinessLayerDependencies();
|
||||
builder.Services.AddControllers();
|
||||
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerGen();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
//if (app.Environment.IsDevelopment())
|
||||
//{
|
||||
// app.UseSwagger();
|
||||
// app.UseSwaggerUI();
|
||||
//}
|
||||
|
||||
app.UseSwagger();
|
||||
app.UseSwaggerUI();
|
||||
|
||||
app.UseCors("CorsPolicy");
|
||||
|
||||
//app.UseHttpsRedirection();
|
||||
|
||||
app.UseAuthorization();
|
||||
|
||||
app.MapControllers();
|
||||
|
||||
app.MapHub<SignalRHub>("/signalrhub");
|
||||
|
||||
app.Run();
|
||||
52
ConstructorAppApi/Properties/launchSettings.json
Normal file
52
ConstructorAppApi/Properties/launchSettings.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "http://localhost:5112"
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "https://localhost:7040;http://localhost:5112"
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"Container (Dockerfile)": {
|
||||
"commandName": "Docker",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_HTTPS_PORTS": "8081",
|
||||
"ASPNETCORE_HTTP_PORTS": "8080"
|
||||
},
|
||||
"publishAllPorts": true,
|
||||
"useSSL": true
|
||||
}
|
||||
},
|
||||
"$schema": "http://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:36493",
|
||||
"sslPort": 44362
|
||||
}
|
||||
}
|
||||
}
|
||||
11
ConstructorAppApi/appsettings.Development.json
Normal file
11
ConstructorAppApi/appsettings.Development.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"mssql": "Server=94.138.207.4;initial Catalog=CONSTRUCTOR;User ID=sa;Password=13579spP!!!!;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True"
|
||||
}
|
||||
}
|
||||
12
ConstructorAppApi/appsettings.json
Normal file
12
ConstructorAppApi/appsettings.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*",
|
||||
"ConnectionStrings": {
|
||||
"mssql": "Server=mssql_container;initial Catalog=CONSTRUCTOR;User ID=sa;Password=13579spP!!!!;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user