public virtual Task <SourceResultDataContract> CancelFileSourceExtraction(Guid sourceId) { return(Task.Run(() => { var fileSource = Context.GetDataSource <FileDataSource>(sourceId); if ((fileSource == null) || (fileSource.InputStatus != SourceStatus.PendingExtraction)) { return DataContractError(sourceId, DataSourceServiceResources.FileSourceIsNotPendingExtraction); } Context.RemoveSource(sourceId); streamManager.RemoveStream(sourceId, fileSource.CurrentFileName); return DataContractSuccess(sourceId); })); }