public static void Validate(this Problema problema) { problema.ClearBrokenRules(); if (string.IsNullOrEmpty(problema.NomeMapa) && string.IsNullOrEmpty(problema.Id)) { problema.BrokenRules.Add("NomeMapa", Resources.ProblemSpecification_AttributeName_NomeMapa);//Um mapa deve ser especificado. } if (string.IsNullOrEmpty(problema.Origem)) { problema.BrokenRules.Add("Origem", Resources.ProblemSpecification_AttributeName_Origem);//A origem deve ser especificada. } if (string.IsNullOrEmpty(problema.Destino)) { problema.BrokenRules.Add("Destino", Resources.ProblemSpecification_AttributeName_Destino);//O destino deve ser especificado. } if (problema.AutonomiaVeiculo == 0.00m) { problema.BrokenRules.Add("AutonomiaVeiculo", Resources.ProblemSpecification_AttributeName_AutonomiaVeiculo);//A autonomia do veículo não pode ser zero. } if (problema.ValorCombustivel == 0.00m) { problema.BrokenRules.Add("ValorCombustivel", Resources.ProblemSpecification_AttributeName_ValorCombustivel);//O valor do combustivel não pode ser zero. } //TODO: declare more specifications if needed }