Skip to content
Snippets Groups Projects

Feature/activities

Merged Enzo Santangelo Dodera requested to merge feature/activities into develop
26 files
+ 1700
13
Compare changes
  • Side-by-side
  • Inline
Files
26
 
using Microsoft.AspNetCore.Authorization;
 
using Microsoft.AspNetCore.Http;
 
using Microsoft.AspNetCore.Mvc;
 
using System;
 
using System.Collections.Generic;
 
using System.Linq;
 
using System.Threading.Tasks;
 
using Tsi1.BusinessLayer.Dtos;
 
using Tsi1.BusinessLayer.Helpers;
 
using Tsi1.BusinessLayer.Interfaces;
 
 
namespace Tsi1.Api.Controllers
 
{
 
[Route("api/[controller]")]
 
[ApiController]
 
public class ActivityController : ControllerBase
 
{
 
private readonly IActivityService _activityService;
 
 
public ActivityController(IActivityService activityService)
 
{
 
_activityService = activityService;
 
}
 
 
[Authorize(Roles = UserTypes.FacultyAdmin + ", " + UserTypes.Professor + ", " + UserTypes.Student)]
 
[HttpGet("GetAll/{courseId}")]
 
public async Task<IActionResult> GetAll(int courseId)
 
{
 
var result = await _activityService.GetAll(courseId);
 
 
if (result.HasError)
 
{
 
return BadRequest(result.Message);
 
}
 
 
return Ok(result.Data);
 
}
 
 
[Authorize(Roles = UserTypes.FacultyAdmin + ", " + UserTypes.Professor)]
 
[HttpPost("Create")]
 
public async Task<IActionResult> Create(ActivityCreateDto newActivity)
 
{
 
var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value);
 
var result = await _activityService.Create(newActivity, userId);
 
 
if (result.HasError)
 
{
 
return BadRequest(result.Message);
 
}
 
 
return Ok(result.Data);
 
}
 
 
[Authorize(Roles = UserTypes.FacultyAdmin + ", " + UserTypes.Professor)]
 
[HttpPut("Modify/{activityId}")]
 
public async Task<IActionResult> Modify(int activityId, ActivityModifyDto activityDto)
 
{
 
var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value);
 
var result = await _activityService.Modify(activityId, activityDto, userId);
 
 
if (result.HasError)
 
{
 
return BadRequest(result.Message);
 
}
 
 
return Ok();
 
}
 
 
[Authorize(Roles = UserTypes.FacultyAdmin + ", " + UserTypes.Professor)]
 
[HttpDelete("Delete/{activityId}")]
 
public async Task<IActionResult> Delete(int activityId)
 
{
 
var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value);
 
var result = await _activityService.Delete(activityId, userId);
 
 
if (result.HasError)
 
{
 
return BadRequest(result.Message);
 
}
 
 
return Ok();
 
}
 
}
 
}
Loading