Осуществлять CustomException

У меня есть класс агентство по доставке почты, в котором я санкционирую, если эта я опустошаю какое-то разыскиваемое поле, или правила дела, которая эта информация из-за переменной string прибывает в презентацию.

public class Mensajeria
{
    Resto de código
}

Мой вопрос - осуществляя CustomException я могу делать то же самое, и если ответ, - если, как прибыло бы сообщение в слой презентации будучи должен проходить по слою ServicioAplicación.

4
задан 13.04.2016, 21:21
1 ответ

Если ты идешь, применять утверждения правила дела используй framework, который помогал бы тебе, как быть

FluentValidation

Entonces ты мог бы применять правила утверждений показывая, что поля ты можешь быть vaciones.

, выполнив утверждения, ты получишь список ошибок. Не изобретай колесо уже существуют книжные магазины, которые позволяют применять утверждения в организациях дела.

Ты Определяешь правила утверждения

public class CustomerValidator : AbstractValidator<Customer> {
   public CustomerValidator() {
     RuleFor(customer => customer.Surname).NotNull();
   }
}

выполняешь утверждения

Customer customer = new Customer(); //esta entidad vendria desde la presentacion
CustomerValidator validator = new CustomerValidator();
ValidationResult results = validator.Validate(customer);

и в конце концов берешь сообщения ошибки, если он состоит в том, что себе производит какой-либо

if(! results.IsValid) {
   foreach(var failure in results.Errors) {
     Console.WriteLine("Property " + failure.PropertyName + " failed validation. Error was: " + failure.ErrorMessage);
   }
 }

, После можешь возвращать список сообщений или ты мог бы возвращать Exception, который содержал бы string этих сообщений. Он рекомендовал бы, что devuelveas exceltion, - больше этот framework, он это выносит, если ты используешь

 validator.ValidateAndThrow(customer);

с него UI, просто ты захватываешь exception с try. catch

5
ответ дан 24.11.2019, 14:35
  • 1
    FluentValidation это установил в моем слое ServiciosDominio? и моя организация дела должна получать в наследство AbstractValidator и создавать строитель в организации дела где внутри этого действительного строителя? – Pedro Ávila 13.04.2016, 21:25
  • 2
    просвет идет в слое дела. Он не получает в наследство ничего, это отдельный класс, где он определяет правила. Проверь немного документацию книжного магазина, чтобы анализировать примеры, как он это использует, я сделал что-то очень основным – Leandro Tuttini 13.04.2016, 21:38
  • 3
    Ok, Леандро спасибо. – Pedro Ávila 13.04.2016, 22:21
  • 4
    Когда я захвачу exception с try catch, я могу показывать эти сообщения в MessageBox. – Pedro Ávila 13.04.2016, 22:50
  • 5
    просвет конечно, когда ты захватываешь exception эти в UI, ты можешь показывать это, как больше я понравился – Leandro Tuttini 13.04.2016, 23:14

Теги

Похожие вопросы