private IObservable <Unit> AddProxy(IProxyManager proxyManager) { var proxy = new TdApi.Proxy { Server = null, Port = 0, Type = new TdApi.ProxyType.ProxyTypeSocks5 { Username = null, Password = null } }; var proxyModel = ProxyModel.FromProxy(proxy); Model.Proxies.Add(proxyModel); return(Observable.Empty <Unit>()); }
public static ProxyModel FromProxy(TdApi.Proxy proxy) { var model = new ProxyModel { Proxy = proxy }; model.Server = proxy.Server; model.Port = proxy.Port == 0 ? "" : proxy.Port.ToString(); switch (proxy.Type) { case TdApi.ProxyType.ProxyTypeSocks5 socks5: model.IsSocks5 = true; model.Username = socks5.Username; model.Password = socks5.Password; break; case TdApi.ProxyType.ProxyTypeHttp http: model.IsHttp = true; model.Username = http.Username; model.Password = http.Password; break; case TdApi.ProxyType.ProxyTypeMtproto mtproto: model.IsMtProto = true; model.Secret = mtproto.Secret; break; } model.IsUsernameInputVisible = model.IsSocks5 || model.IsHttp; model.IsPasswordInputVisible = model.IsSocks5 || model.IsHttp; model.IsSecretInputVisible = model.IsMtProto; return(model); }