private static IProvidedService Convert( IApplication application, IService service, ProvidedServiceDto dto) { var ps = new ProvidedService { Alias = ConvertMaybe(dto.Alias), Service = service, Title = dto.Options.GetValue("interop.ProvidedServiceOptions.title"), Application = application, To = ConvertMatchPatterns(dto.To), LaunchMode = ConvertLaunchMode( dto.Options.GetValue("interop.ProvidedServiceOptions.launch_on_call").GetValueOrDefault()) }; ps.Methods = dto.Methods .Select(x => (IProvidedMethod) new ProvidedMethod { Method = service.Methods[x.Name], ProvidedService = ps, Title = x.Options.GetValue("interop.ProvidedMethodOptions.title"), LaunchMode = ConvertLaunchMode( x.Options.GetValue("interop.ProvidedMethodOptions.launch_on_call").GetValueOrDefault()), TimeoutMs = int.TryParse( x.Options.GetValue("interop.ProvidedMethodOptions.timeout_ms").GetValueOrDefault(), out var result) ? result : 0, Options = x.Options.Select(o => new Option { Id = o.Id, Value = o.Value }).ToList() })
private static IProvidedService Convert( IApplication application, IService service, ProvidedServiceDto dto) { var ps = new ProvidedService { Alias = ConvertMaybe(dto.Alias), Service = service, Title = ConvertMaybe(dto.Title), Application = application, To = ConvertMatchPatterns(dto.To) }; ps.Methods = dto.Methods .Select(x => (IProvidedMethod) new ProvidedMethod { Method = service.Methods[x.Name], ProvidedService = ps, Title = ConvertMaybe(x.Title) }) .ToDictionary(x => x.Method.Name, x => x); return(ps); }