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> GetUnits() { var unitQuery = _context.Units.AsQueryable(); var units= await unitQuery.ToListAsync(); return _mapper.Map, List>(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); } } } }