消防站文档解析
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.

49 lines
1.7 KiB

2 years ago
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);
}
}
}
}