Files
moadiran/Back/Controllers/BaseController.cs
mmrbnjd c439f88650 ...
2024-04-05 17:43:11 +03:30

54 lines
2.1 KiB
C#

using Back.Services;
using Back.Validations;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Shared.DTOs;
namespace Back.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class BaseController : ControllerBase
{
private readonly ServBase _sBase;
private readonly MobileValidation _mobilevalidation;
public BaseController(ServBase sBase, MobileValidation mobilevalidation)
{
_sBase = sBase;
_mobilevalidation = mobilevalidation;
}
[HttpGet("Pricing")]
public async Task<ActionResult<List<BasePriceDto>>> Pricing()
=> Ok(await _sBase.GetBasePrice());
[HttpGet("DateTimeServer")]
public async Task<ActionResult<DateTime>> DateTimeServer()
=> Ok(DateTime.Now);
[HttpGet("LastBlog")]
public async Task<ActionResult<PagingDto<BlogDto>>> LastBlog(int PageIndex,int PageSize)
=> Ok(await _sBase.GetBlog(PageIndex,PageSize));
[HttpGet("GetBlogByID/{ID}")]
public async Task<ActionResult<BlogDtoFull?>> GetBlogByID(int ID)
{
var result = await _sBase.GetBlogByID(ID);
if (result == null)
return NotFound();
return Ok(result);
}
[HttpGet("LastQuestion")]
public async Task<ActionResult<PagingDto<QuestionDto>>> LastQuestion(int PageIndex, int PageSize)
=> Ok(await _sBase.GetQuestion(PageIndex, PageSize));
[HttpPost("CreateCsrAndPrivateKey")]
public async Task<ActionResult<TaxToolsDTO>> CreateCsrAndPrivateKey(CsrPrivateKeyDto model)
{
var resultValidationmodel = await _mobilevalidation.ValidateAsync(model.Mobile);
if (!resultValidationmodel.IsValid)
return BadRequest(resultValidationmodel.Errors.Select(s=>s.ErrorMessage ).ToList());
return Ok(await _sBase.CreateCsrAndPrivateKey(model));
}
[HttpPost("ReadPublicKeyFromCER")]
public async Task<ActionResult<PublicKeyDTO>> ReadPublicKeyFromCER(string modelfromBase64)
=> Ok(await _sBase.ReadPublicKeyFromCER(modelfromBase64));
}
}