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; } [HttpPost("activity")] public async Task CreateActivity([FromBody] CreateActivityMasterDto createActivity) { var tenantId = _userHelper.GetTenantId(); var employee = await _userHelper.GetCurrentEmployeeAsync(); if(employee.TenantId != tenantId) { return Unauthorized(ApiResponse.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.SuccessResponse(activityMaster, "Activity created successfully", 200)); } } }