public SourceFileModel GetSourceFileData(IJobContextMessage jobContextMessage) { if (!jobContextMessage.KeyValuePairs.ContainsKey(JobContextMessageKey.Filename)) { throw new ArgumentException($"{nameof(JobContextMessageKey.Filename)} is required"); } var fileName = jobContextMessage.KeyValuePairs[JobContextMessageKey.Filename].ToString(); string[] fileNameParts = FileNameHelper.SplitFileName(fileName); if (fileNameParts.Length != 5) { throw new ArgumentException($"{nameof(JobContextMessageKey.Filename)} is invalid"); } var fileNameDatePart = FileNameHelper.GetPreparedDateFromFileName(fileName); if (!DateTime.TryParse(fileNameDatePart, out var preparationDateTime)) { throw new ArgumentException($"{nameof(JobContextMessageKey.Filename)} is invalid"); } var jobId = jobContextMessage.JobId; return(new SourceFileModel { ConRefNumber = fileNameParts[2], UKPRN = fileNameParts[1], FileName = fileName, PreparationDate = preparationDateTime, SuppliedDate = jobContextMessage.SubmissionDateTimeUtc, JobId = jobId }); }
public bool Execute(SourceFileModel sourceFileModel, SupplementaryDataLooseModel model) { string[] filenameParts = FileNameHelper.SplitFileName(sourceFileModel.FileName); return(filenameParts[2] == model.ConRefNumber); }