Esempio n. 1
0
        public async Task <JsonResult> DeleteSubscriptions([FromBody] DeleteSubscriptionsDTO deleteSubscriptionsDto)
        {
            try
            {
                var results = new List <Result>();
                // we do not use the automatic integration of fluentValidation into ASP.NET Core (validating objects that are passed in to controller actions), as we want to add ALL valid releases and not stop and throw if one is invalid)
                var subscriptionValidator = new DeleteSubscriptionValidator(_trackedMediaSettings);
                foreach (var deleteSubscription in deleteSubscriptionsDto.Subscriptions)
                {
                    var validationResult = await subscriptionValidator.ValidateAsync(deleteSubscription);

                    if (validationResult.IsValid)
                    {
                        results.Add(await _subscriptionService.DeleteSubscription(deleteSubscription.MediaName, deleteSubscriptionsDto.NotificationEndpointIdentifier));
                    }
                    else
                    {
                        results.Add(Result.Failure(validationResult.GetMessage()));
                    }
                }
                return(new JsonResult(results.Select(r => r.AsSerializableResult())));
            }
            catch (Exception e)
            {
                _logger.LogError("Something went wrong. {exceptionMessage}", e.Message);
                return(new JsonResult(Result.Failure("Deleting the subscriptions failed.").AsSerializableResult()));
            }
        }
Esempio n. 2
0
 public void Initialize()
 {
     dto = new DeleteSubscription
     {
         Id = DataFormats.CreateEntityIdentifier()
     };
     validator = new DeleteSubscriptionValidator();
 }