You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
48 lines
1.7 KiB
using Application.Shared.Dtos.Units; |
|
using AutoMapper; |
|
using BackGround.Hangfire.JobRegisters.Units; |
|
using Domain.Models.Units; |
|
using Domain.Service.FileUpload; |
|
using EntityFramework; |
|
using Infrastructure.Application; |
|
using Microsoft.AspNetCore.Http; |
|
using Microsoft.EntityFrameworkCore; |
|
using System; |
|
using System.Collections.Generic; |
|
using System.Linq; |
|
using System.Text; |
|
using System.Threading.Tasks; |
|
|
|
namespace Application.Services.Units |
|
{ |
|
public class UnitAppservice:ApplicationService, IUnitAppService |
|
{ |
|
private readonly FireStationDbContext _context; |
|
private readonly IFileUploader _fileUploader; |
|
private readonly IMapper _mapper; |
|
private readonly ImportJobRegister _importJobRegister; |
|
public UnitAppservice(FireStationDbContext context,IMapper mapper, IFileUploader fileUploader, ImportJobRegister importJobRegister) |
|
{ |
|
_context = context; |
|
_mapper = mapper; |
|
_fileUploader = fileUploader; |
|
_importJobRegister = importJobRegister; |
|
} |
|
|
|
public async Task<List<UnitOutputDto>> GetUnits() |
|
{ |
|
var unitQuery = _context.Units.AsQueryable(); |
|
var units= await unitQuery.ToListAsync(); |
|
return _mapper.Map<List<Unit>, List<UnitOutputDto>>(units); |
|
} |
|
|
|
public async Task ImportUnits(IFormFileCollection files,int unitId, int uniacid, int groupId) |
|
{ |
|
var fileUploadResult = await _fileUploader.UploadFiles(files, unitId, uniacid, groupId); |
|
foreach(var uploadResult in fileUploadResult) |
|
{ |
|
_importJobRegister.Register(uploadResult.Item2); |
|
} |
|
} |
|
} |
|
}
|
|
|