public async Task <byte[]> GetVacantReport(GenContentMultiReturn[] model) { string[] destinations = model.Select(m => m.Destination).ToArray(); var res = await _positionRepo.GetVacantPositions(destinations); List <ReportVacant> mapRes = new List <ReportVacant>(); foreach (var vacantPosition in res) { foreach (var period in vacantPosition.VacantPositionPeriods) { mapRes.Add(new ReportVacant { MPLID = vacantPosition.Position.MPLID, Season = vacantPosition.Position.Season, Region = vacantPosition.Position.Region, Country = vacantPosition.Position.Country, HeadOf = vacantPosition.Position.HeadOf, SDD_DM = vacantPosition.Position.SDD_DM, HighSeason = vacantPosition.Position.HighSeason, ConceptHotel = vacantPosition.Position.ConceptHotel, Destination = vacantPosition.Position.Destination, MPLEndDate = vacantPosition.Position.PositionEndDate, JobTitle = vacantPosition.Position.JobTitle, JobFamily = vacantPosition.Position.JobFamily, MPLPositionType = vacantPosition.Position.MPLPositionType, MPLSourceMarket = vacantPosition.Position.MPLSourceMarket, MPLStartDate = vacantPosition.Position.PositionStartDate, NotAssignedFrom = period.From, NotAssignedTo = period.To, Comment = string.Empty }); } } var f = ExcelVacant(mapRes); byte[] doc = f; return(doc); }