private static void SaveLogin(Request request) { "Saving Target login information.".Debug(); var dir = new FileInfo(Assembly.GetExecutingAssembly().Location).Directory; if (dir == null) throw new Exception("Could not access application folder."); var storagefile = Path.Combine(dir.FullName, "config-edit.json"); var localStorage = new LocalStorage<Configuration>(storagefile); var config = File.Exists(storagefile) ? localStorage.Load() : new Configuration(); config.Target = new ServerConfiguration { Type = request.Type, Protocol = request.Protocol, Host = request.Host, User = request.User, Password = request.Password }; localStorage.Save(config); }
private ILeanKitApi Connect(Request request, bool saveLogin = false) { LeanKitClientFactory = new LeanKitClientFactory(); var account = new LeanKitAccountAuth { Hostname = request.Host, Username = request.User, Password = request.Password, UrlTemplateOverride = request.Host }; if (saveLogin) SaveLogin(account); // expand host if necessary if (account.Hostname == "kanban-cibuild") account.UrlTemplateOverride = "http://kanban-cibuild.localkanban.com/"; else if (!account.Hostname.Contains("http://")) account.UrlTemplateOverride = "https://" + account.Hostname + ".leankit.com/"; string.Format("Attempting connection to {0}", request).Debug(); return LeanKitClientFactory.Create(account); }
private static IConnection Connect(Request request, out ConnectionResult result) { result = ConnectionResult.UnknownTarget; if (request.Type == null) return null; IConnection target; switch (request.Type.ToLowerInvariant()) { case "tfs": target = new TfsConnection(); result = target.Connect(request.Url, request.User, request.Password); break; case "jira": target = new JiraConnection(); result = target.Connect(request.Url, request.User, request.Password); break; case "githubissues": target = new GitHubIssuesConnection(); result = target.Connect(request.Host, request.User, request.Password); break; case "githubpulls": target = new GitHubPullsConnection(); result = target.Connect(request.Host, request.User, request.Password); break; default: target = null; break; } return target; }