public CrearMensualidadResponse Ejecutar(CrearMensualidadRequest request) { var mensualidad = _unitOfWork.MensualidadServiceRepository.FindFirstOrDefault(t => t.Id == request.id); var mensualidad2 = _unitOfWork.MensualidadServiceRepository.FindFirstOrDefault(t => t.Mes == request.Mes); if (mensualidad == null && mensualidad2 == null) { Dominio.Mensualidad newMensualidad = new Dominio.Mensualidad(request.Mes, request.DiaPago, request.FechaPago, request.ValorMensualidad, request.DescuentoMensualidad, request.Abono, request.Deuda, request.Estado, request.IdMatricula, request.TotalMensualidad); IReadOnlyList <string> errors = newMensualidad.CanCrear(newMensualidad); if (errors.Any()) { string listaErrors = "Errores:"; foreach (var item in errors) { listaErrors += item.ToString(); } return(new CrearMensualidadResponse() { Message = listaErrors }); } else { _unitOfWork.MensualidadServiceRepository.Add(newMensualidad); _unitOfWork.Commit(); return(new CrearMensualidadResponse() { Message = $"Mensualidad Creada Exitosamente" }); } } else { return(new CrearMensualidadResponse() { Message = $"Mensualidad ya existe" }); } }