use super::{ValidationError, ValidationResult};
use crate::documents::activation::ActivationDocType;
use crate::parse::Document;
pub fn validate(doc: &Document, result: &mut ValidationResult) {
match doc {
Document::Activation(d) => {
match d.document_type.v {
ActivationDocType::RedispatchActivation | ActivationDocType::ActivationResponse => {
if d.time_series.is_empty() {
result.errors.push(ValidationError::Semantic(
"ACO/ACR ActivationDocument must contain at least one ActivationTimeSeries"
.to_string(),
));
}
}
ActivationDocType::TenderReduction => {}
}
}
Document::Kostenblatt(d) => {
if d.time_series.is_empty() {
result.errors.push(ValidationError::Semantic(
"Kostenblatt must contain at least one CostTimeSeries".to_string(),
));
}
}
Document::PlannedResourceSchedule(d) => {
if d.time_series.is_empty() {
result.errors.push(ValidationError::Semantic(
"PlannedResourceScheduleDocument must contain at least one PlannedResourceTimeSeries"
.to_string(),
));
}
}
_ => {}
}
}