Esempio n. 1
0
        public static async Task <SwaggerDocumentViewModel> ToViewModelAsync(SwaggerSession session)
        {
            var doc = await SwaggerDocumentLoader.LoadFromUrlAsync(session.Url);

            var vm = new SwaggerDocumentViewModel(doc, session.Url, session.DisplayName);

            foreach (var storedOp in session.Operations)
            {
                var operation = vm.OperationGroups
                                .SelectMany(g => g)
                                .FirstOrDefault(op => op.OperationId == storedOp.Key);

                if (operation != null)
                {
                    operation.SelectedContentType = storedOp.Value.ContentType;

                    foreach (var storedArg in storedOp.Value.Arguments)
                    {
                        var parameter = operation.Arguments.FirstOrDefault(p => p.ParameterId == storedArg.Key);
                        await parameter.SetSerializedValueAsync(storedArg.Value);
                    }
                }
            }

            return(vm);
        }
Esempio n. 2
0
 public static SwaggerSession FromViewModel(SwaggerDocumentViewModel vm, string displayName)
 {
     return(new SwaggerSession
     {
         Url = vm.Url,
         DisplayName = displayName,
         Operations = vm.OperationGroups
                      .SelectMany(g => g)
                      .ToDictionary(
             op => op.OperationId,
             op => new StoredOperation
         {
             ContentType = op.SelectedContentType,
             Arguments = op.Arguments
                         .Where(p => p.HasValue)
                         .ToDictionary(p => p.ParameterId, p => p.GetSerializedValue())
         })
     });
 }