private static FileUploadQuery CreateQuery(SpreadsheetDocument document, OpenXmlElement row)
        {
            var companyTl          = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.CompanyTl));
            var checksum           = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Checksum));
            var modifiedOn         = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.ModifiedOn));
            var company            = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Company));
            var created            = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Created));
            var dateContacted      = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.DateContacted));
            var nextPlannedContact = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.NextPlannedContact));
            var resolution         = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Resolution));
            var resolutionOther    = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.ResolutionOther));
            var offeredPlacements  = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.OfferedPlacements));
            var occupationalPath   = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.OccupationalPath));
            var technicalRouteWay  = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.TechnicalRouteWay));
            var pathwayOffered     = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.PathwayOffered));
            var routeOffered       = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.RouteOffered));
            var postCode           = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.PostCode));
            var region             = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Region));
            var query            = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Query));
            var queryOther       = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.QueryOther));
            var createdBy        = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.CreatedBy));
            var placementOffered = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.PlacementOffered));
            var referToProvider  = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.ReferToProvider));
            var provider1        = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Provider1));
            var provider2        = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Provider2));
            var provider3        = CellValueRetriever.Get(document, row.Descendants <Cell>().ElementAt(QueryColumnIndex.Provider3));

            var fileUploadQuery = new FileUploadQuery
            {
                CompanyTl          = new Guid(companyTl),
                Checksum           = checksum,
                ModifiedOn         = modifiedOn.ToDate(),
                Company            = company,
                Created            = created.ToDate(),
                DateContacted      = dateContacted.ToDate(),
                NextPlannedContact = nextPlannedContact.ToDate(),
                Resolution         = resolution,
                ResolutionOther    = resolutionOther,
                OfferedPlacements  = int.Parse(offeredPlacements),
                OccupationalPath   = occupationalPath,
                TechnicalRouteWay  = technicalRouteWay,
                PathwayOffered     = pathwayOffered,
                RouteOffered       = routeOffered,
                PostCode           = postCode,
                Region             = region,
                Query            = query,
                QueryOther       = queryOther,
                CreatedBy        = createdBy,
                PlacementOffered = placementOffered,
                ReferToProvider  = GetNullableBool(referToProvider),
                Provider1        = provider1,
                Provider2        = provider2,
                Provider3        = provider3
            };

            return(fileUploadQuery);
        }
        public CsvLoadedSuccess()
        {
            var fileReader = new CsvQueryFileReader();

            using (var stream = File.Open(DataFilePath, FileMode.Open))
            {
                _loadResult  = fileReader.Load(stream);
                _firstRecord = _loadResult.Data[0];
            }
        }