public async Task <OperationResult <MediaModel> > UploadMedia(UploadMediaModel model, CancellationToken ct)
        {
            if (!EnableRead)
            {
                return(null);
            }

            var results = Validate(model);

            if (results.Any())
            {
                return(new OperationResult <MediaModel>(new ValidationError(results)));
            }

            var trxResp = await _ditchClient.GetVerifyTransaction(model, ct);

            if (!trxResp.IsSuccess)
            {
                return(new OperationResult <MediaModel>(trxResp.Error));
            }

            model.VerifyTransaction = JsonConverter.Serialize(trxResp.Result);

            var endpoint = $"{GatewayVersion.V1P1}/media/upload";

            return(await Gateway.UploadMedia(endpoint, model, ct));
        }
Пример #2
0
        public async Task <OperationResult <MediaModel> > UploadMedia(UploadMediaModel model, CancellationToken ct)
        {
            if (!EnableRead)
            {
                return(null);
            }

            var results = Validate(model);

            if (results.Any())
            {
                return(new OperationResult <MediaModel>(new ValidationError(string.Join(Environment.NewLine, results.Select(i => i.ErrorMessage)))));
            }

            var trxResp = await _ditchClient.GetVerifyTransaction(model, ct);

            if (!trxResp.IsSuccess)
            {
                return(new OperationResult <MediaModel>(trxResp.Error));
            }

            model.VerifyTransaction = trxResp.Result;

            return(await Gateway.UploadMedia(GatewayVersion.V1P1, "media/upload", model, ct));
        }