public Result RegisterEvaluations(List <MedicalEvaluationModel> evaluationsModel) { foreach (var evaluationModel in evaluationsModel) { var evaluation = _mapper.Map <MedicalEvaluation>(evaluationModel); if (evaluation.Patient.Id > 0) { var resultPatient = _patientBLL.Update(evaluationModel.PatientModel); evaluation.Patient = resultPatient.Model; } else { var resultPatient = _patientValidation.Validate(evaluation.Patient); if (!resultPatient.Success) { return(Result.BuildError(resultPatient.Messages)); } } if (evaluation.Evaluation != null) { var result = _medicalEvaluationValidation.Validate(evaluation); if (!result.Success) { return(result); } _medicalEvaluationDAL.Insert(evaluation); } } return(_medicalEvaluationDAL.Save()); }