38 lines
1.5 KiB
C#

using Marco.Pms.DataAccess.Data;
using Marco.Pms.Model.Dtos.Activities;
using Marco.Pms.Model.Mapper;
using Marco.Pms.Model.Utilities;
using MarcoBMS.Services.Helpers;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Marco.Pms.Services.Controllers
{
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class MasterController : ControllerBase
{
private readonly ApplicationDbContext _context;
private readonly UserHelper _userHelper;
public MasterController(ApplicationDbContext context,UserHelper userHelper)
{
_context = context;
_userHelper = userHelper;
}
public async Task<IActionResult> CreateActivity([FromBody] CreateActivityMasterDto createActivity)
{
var tenantId = _userHelper.GetTenantId();
var employee = await _userHelper.GetCurrentEmployeeAsync();
if(employee.TenantId != tenantId)
{
return Unauthorized(ApiResponse<object>.ErrorResponse("Current tenant did not match with user's tenant", "Current tenant did not match with user's tenant",401));
}
var activityMaster = createActivity.ToActivityMasterFromCreateActivityMasterDto(tenantId);
_context.ActivityMasters.Add(activityMaster);
await _context.SaveChangesAsync();
return Ok(ApiResponse<object>.SuccessResponse(activityMaster, "Activity created successfully", 200));
}
}
}