|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|