move checks to service layer

a DAO should only be responsible for its own tables (as much as
possible). The line_extension DAO was checking if the line/extension
existed. Better to reuse line dao and extension dao for that.