private bool ValidateContactPerson(ConsumerGroup entity, out IList <ValidationResultProperty> validationResults) { validationResults = new List <ValidationResultProperty>(); if (entity.Properties.TryGetValue(Graph.Metadata.Constants.ConsumerGroup.HasContactPerson, out var persons)) { foreach (var person in persons) { try { bool exists = _remoteAppDataService.CheckPerson(person).Result; if (!exists) { validationResults.Add(new ValidationResultProperty(entity.Id, Graph.Metadata.Constants.ConsumerGroup.HasContactPerson, person, string.Format(Common.Constants.Messages.Person.PersonNotFound, person), ValidationResultSeverity.Violation)); continue; } } catch (ArgumentException) { continue; } } } return(validationResults.Any()); }
protected override void InternalHasValidationResult(EntityValidationFacade validationFacade, KeyValuePair <string, List <dynamic> > properties) { if (IsIgnoredProperty(validationFacade.ResourceCrudAction, properties)) { return; } foreach (var person in properties.Value) { try { bool exists = _remoteAppDataService.CheckPerson(person).GetAwaiter().GetResult(); if (!exists) { var metadataProperty = validationFacade.MetadataProperties.FirstOrDefault(m => m.Key == properties.Key); var criticalError = metadataProperty.IsTechnicalMetadataProperty() ? ValidationResultSeverity.Violation : ValidationResultSeverity.Warning; validationFacade.ValidationResults.Add(new ValidationResultProperty(validationFacade.RequestResource.Id, properties.Key, person, string.Format(Common.Constants.Messages.Person.PersonNotFound, person), criticalError)); continue; } } catch (ArgumentException) { continue; } } }
private async Task CheckRequesterIsValid(string requester) { Guard.IsValidEmail(requester); if (!_userInfoService.HasApiToApiPrivileges() && requester != _userInfoService.GetEmail()) { throw new BusinessException(Common.Constants.Messages.Resource.Delete.MarkedDeletedFailedInvalidRequester); } var validRequester = await _remoteAppDataService.CheckPerson(requester); if (!validRequester) { throw new BusinessException(Common.Constants.Messages.Resource.Delete.MarkedDeletedFailedInvalidRequester); } }