public override Result <Emergency> Register(EmergencyModel model) { try { Emergency emergency = _mapper.Map <Emergency>(model); foreach (var patient in model.PatientModels) { var resultPatient = _patientBLL.Register(patient); if (!resultPatient.Success) { return(Result <Emergency> .BuildError(resultPatient.Messages)); } } var result = _emergencyValidation.Validate(emergency); if (!result.Success) { return(result); } _emergencyDAL.Insert(emergency); var resultSave = _emergencyDAL.Save(); if (!resultSave.Success) { return(Result <Emergency> .BuildError(resultSave.Messages)); } return(Result <Emergency> .BuildSuccess(emergency)); } catch (Exception error) { return(Result <Emergency> .BuildError("Erro no momento de registar a emergência.", error)); } }