Skip to content
Snippets Groups Projects

merge from develop

Merged Lucca Santangelo Dodera requested to merge develop into master
1 file
+ 3
3
Compare changes
  • Side-by-side
  • Inline
using AutoMapper;
using AutoMapper;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tsi1.BusinessLayer.Dtos;
@@ -79,5 +80,119 @@ namespace Tsi1.BusinessLayer.Services
return result;
}
public async Task<ServiceResult<bool>> Modify(int tenantId, TenantCreateDto tenantDto)
{
var result = new ServiceResult<bool>();
var tenant = await _context.Tenants
.FirstOrDefaultAsync(x => x.Id == tenantId);
if (tenant == null)
{
result.Message = string.Format(ErrorMessages.TenantDoesNotExist, tenantId);
return result;
}
_mapper.Map(tenantDto, tenant);
await _context.SaveChangesAsync();
result.Data = true;
return result;
}
public async Task<ServiceResult<bool>> Delete(int tenantId)
{
var result = new ServiceResult<bool>();
var tenant = await _context.Tenants
.FirstOrDefaultAsync(x => x.Id == tenantId);
if (tenant == null)
{
result.Message = string.Format(ErrorMessages.TenantDoesNotExist, tenantId);
return result;
}
_context.Tenants.Remove(tenant);
await _context.SaveChangesAsync();
result.Data = true;
return result;
}
public async Task<ServiceResult<List<TenantPreviewDto>>> FacultyList()
{
var result = new ServiceResult<List<TenantPreviewDto>>();
var tenants = await _context.Tenants
.Include(x => x.Students)
.Where(x => x.Name != TenantAdmin.Name)
.ToListAsync();
var tenantDtos = new List<TenantPreviewDto>();
foreach (var tenant in tenants)
{
var tenantDto = _mapper.Map<TenantPreviewDto>(tenant);
tenantDto.StudentQuantity = tenant.Students.Count();
tenantDtos.Add(tenantDto);
}
result.Data = tenantDtos;
return result;
}
public async Task<ServiceResult<List<TenantCourseDto>>> CourseList()
{
var result = new ServiceResult<List<TenantCourseDto>>();
var tenants = await _context.Tenants
.Include(x => x.Courses)
.ThenInclude(x => x.StudentCourses)
.Where(x => x.Name != TenantAdmin.Name)
.ToListAsync();
var tenantDtos = new List<TenantCourseDto>();
foreach (var tenant in tenants)
{
var tenantDto = _mapper.Map<TenantCourseDto>(tenant);
foreach (var course in tenant.Courses)
{
var courseDto = _mapper.Map<CoursePreviewDto>(course);
courseDto.StudentQuantity = course.StudentCourses.Count();
tenantDto.Courses.Add(courseDto);
}
tenantDtos.Add(tenantDto);
}
result.Data = tenantDtos;
return result;
}
public async Task<ServiceResult<int>> GetById(int tenantId)
{
var result = new ServiceResult<int>();
var tenant = await _context.Tenants
.FirstOrDefaultAsync(x => x.Id == tenantId);
if (tenant == null)
{
result.HasError = true;
result.Message = string.Format(ErrorMessages.TenantDoesNotExist, tenantId);
return result;
}
result.Data = tenant.Id;
return result;
}
}
}
Loading