Skip to content
Snippets Groups Projects
Commit a9937849 authored by esantangelo's avatar esantangelo
Browse files

commit

parent 6c2389bd
No related branches found
No related tags found
1 merge request!5Multi tenancy
......@@ -30,8 +30,9 @@ namespace Tsi1.Api.Controllers
{
var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value);
var userType = HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Role).Value;
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
var result = await _courseService.GetCoursePreviews(userId, userType);
var result = await _courseService.GetCoursePreviews(userType, tenantId);
if (result.HasError)
{
return BadRequest(result.Message);
......@@ -44,6 +45,10 @@ namespace Tsi1.Api.Controllers
[HttpPost("Create")]
public async Task<IActionResult> Create(CourseCreateDto newCourse)
{
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
newCourse.TenantId = tenantId;
var result = await _courseService.Create(newCourse);
if (result.HasError)
{
......
......@@ -29,7 +29,9 @@ namespace Tsi1.Api.Controllers
{
var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value);
var result = await _messageService.GetMessages(userId, receiverId);
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
var result = await _messageService.GetMessages(userId, receiverId, tenantId);
if (result.HasError)
{
......@@ -45,7 +47,10 @@ namespace Tsi1.Api.Controllers
{
var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value);
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
newMessage.SenderId = userId;
newMessage.TenantId = tenantId;
var result = await _messageService.Send(newMessage);
......
using System;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
......@@ -31,7 +32,7 @@ namespace Tsi1.Api.Controllers
[HttpPost("Login")]
public async Task<IActionResult> Login(LoginRequest request)
{
var result = await _userService.Authenticate(request.UserName, request.Password);
var result = await _userService.Authenticate(request.UserName, request.Password, request.TenantId);
if (result.HasError)
{
......@@ -44,6 +45,7 @@ namespace Tsi1.Api.Controllers
{
new Claim("Id", user.Id.ToString()),
new Claim("Username", user.Username),
new Claim("TenantId", user.TenantId.ToString()),
new Claim(ClaimTypes.Role, user.UserType.Name)
};
......@@ -62,6 +64,9 @@ namespace Tsi1.Api.Controllers
[HttpPost("Register")]
public async Task<IActionResult> Register(UserRegisterDto dto)
{
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
dto.TenantId = tenantId;
var userTypeResult = await _userTypeService.GetById(dto.UserTypeId);
if (userTypeResult.HasError)
......@@ -86,7 +91,9 @@ namespace Tsi1.Api.Controllers
[HttpGet("GetAll")]
public async Task<IActionResult> GetAll()
{
var result = await _userService.GetAll();
var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
var result = await _userService.GetAll(tenantId);
if (result.HasError)
{
......
......@@ -16,5 +16,9 @@ namespace Tsi1.Api.Models
[Required]
[JsonPropertyName("password")]
public string Password { get; set; }
[Required]
[JsonPropertyName("tenantId")]
public int TenantId { get; set; }
}
}
......@@ -22,7 +22,10 @@ namespace Tsi1.BusinessLayer.Helpers
CreateMap<Message, MessageCreateDto>();
CreateMap<User, UserPreviewDto>();
CreateMap<User, UserRegisterDto>();
CreateMap<Course, CourseCreateDto>();
CreateMap<Course, CoursePreviewDto>();
CreateMap<ForumCreateDto, Forum>();
CreateMap<ForumPreviewDto, Forum>();
CreateMap<PostCreateDto, Post>();
......@@ -33,6 +36,8 @@ namespace Tsi1.BusinessLayer.Helpers
CreateMap<MessageCreateDto, Message>();
CreateMap<UserPreviewDto, User>();
CreateMap<UserRegisterDto, User>();
CreateMap<CourseCreateDto, Course>();
CreateMap<CoursePreviewDto, Course>();
}
}
}
using Microsoft.EntityFrameworkCore;
using AutoMapper;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
......@@ -16,20 +17,20 @@ namespace Tsi1.BusinessLayer.Services
{
private readonly Tsi1Context _context;
public CourseService(Tsi1Context context)
private readonly IMapper _mapper;
public CourseService(Tsi1Context context, IMapper mapper)
{
_context = context;
_mapper = mapper;
}
public async Task<ServiceResult<Course>> Create(CourseCreateDto newCourse)
{
var result = new ServiceResult<Course>();
var course = new Course()
{
Name = newCourse.Name
};
var course = _mapper.Map<Course>(newCourse);
_context.Courses.Add(course);
await _context.SaveChangesAsync();
......@@ -40,7 +41,6 @@ namespace Tsi1.BusinessLayer.Services
public async Task<ServiceResult<List<CoursePreviewDto>>> GetCoursePreviews(string userType, int tenantId)
{
var result = new ServiceResult<List<CoursePreviewDto>>();
result.Data = new List<CoursePreviewDto>();
var courses = new List<Course>();
......@@ -61,16 +61,7 @@ namespace Tsi1.BusinessLayer.Services
.ToListAsync();
}
foreach (var course in courses)
{
var item = new CoursePreviewDto()
{
Id = course.Id,
Name = course.Name
};
result.Data.Add(item);
}
result.Data = _mapper.Map<List<CoursePreviewDto>>(courses);
return result;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment