diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/ErrorMessages.cs b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/ErrorMessages.cs index f29a7cc62a9beabd276205bf36b38976d6b2d2fa..322b0643d8e329eb1a4f74025c356a389776e0cd 100644 --- a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/ErrorMessages.cs +++ b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/ErrorMessages.cs @@ -59,5 +59,6 @@ namespace Tsi1.BusinessLayer.Helpers public const string SurveyIsNull = "La encuesta es nula"; public const string SurveyHasNoQuestions = "La encuesta no tiene preguntas"; public const string InvalidSurvey = "La encuesta no pertenece a la facultad con id '{0}'"; + public const string SurveyResponseAlreadyExist = "El usuario '{0}' ya completo la encuesta '{1}'"; } } diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs index bf0bf120ddf61bfbb131f476d8cedee7111c2914..51beed6b69060913983701c8c88f8b1889fc5e1e 100644 --- a/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs +++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs @@ -154,14 +154,15 @@ namespace Tsi1.BusinessLayer.Services if (existingSurveyResponse != null) { - _mapper.Map(surveyResponse, existingSurveyResponse); - } - else - { - var newSurveyResponse = _mapper.Map<SurveyResponse>(surveyResponse); - _context.Add(newSurveyResponse); + result.HasError = true; + result.AddMessage(string.Format(ErrorMessages.SurveyResponseAlreadyExist, surveyResponse.UserId, surveyResponse.SurveyId)); + return result; } + var newSurveyResponse = _mapper.Map<SurveyResponse>(surveyResponse); + _context.Add(newSurveyResponse); + + await _context.SaveChangesAsync(); return result; @@ -172,7 +173,6 @@ namespace Tsi1.BusinessLayer.Services var result = new ServiceResult<List<SurveyResponseDetailDto>>(); var tenant = await _context.Tenants.FirstOrDefaultAsync(x => x.Id == tenantId); - var tenantAdmin = await _context.Tenants.FirstOrDefaultAsync(x => x.Name == TenantAdmin.Name); if (tenant == null) {