private void ReadUser(Gitlab.Api.Library.Gitlab gitlab, string id) { gitlab.RequestUser(id, (User user) => { // ユーザー情報取得 }); }
private void ReadProject(Gitlab.Api.Library.Gitlab gitlab, string id) { gitlab.RequestProject(id, (Project project) => { // プロジェクト情報取得 }); }
private async void TestButtonClickHandler(object sender, RoutedEventArgs e) { Gitlab.Api.Library.Gitlab gitlab = new Gitlab.Api.Library.Gitlab(this.url.Text); gitlab.ErrorAction = (Exception exception) => { // TODO:例外発生時の処理 }; var ptr = Marshal.SecureStringToGlobalAllocUnicode(this.password.SecurePassword); try { // セキュア文字列を平文へ変換 string password = Marshal.PtrToStringUni(ptr); // セッションの取得 gitlab.RequestSession(this.email.Text, password, (bool saccess) => { gitlab.RequestProjects((List <Project> result) => { // プロジェクトリスト取得 }); gitlab.RequestUsers((List <User> result) => { // プロジェクトリスト取得 }); }); } finally { Marshal.ZeroFreeGlobalAllocUnicode(ptr); } /* * using (StreamReader r = new StreamReader(@"projects.json")) * { * string responseBody = r.ReadLine(); * * List<Project> projects = ProjectsFactory.Create(responseBody); * } */ }
private async void TestButtonClickHandler(object sender, RoutedEventArgs e) { Gitlab.Api.Library.Gitlab gitlab = new Gitlab.Api.Library.Gitlab(this.url.Text); gitlab.ErrorAction = (Exception exception) => { // TODO:例外発生時の処理 }; var ptr = Marshal.SecureStringToGlobalAllocUnicode(this.password.SecurePassword); try { // セキュア文字列を平文へ変換 string password = Marshal.PtrToStringUni(ptr); // セッションの取得 gitlab.RequestSession(this.email.Text, password, (bool saccess) => { gitlab.RequestProjects((List<Project> result) => { // プロジェクトリスト取得 }); gitlab.RequestUsers((List<User> result) => { // プロジェクトリスト取得 }); }); } finally { Marshal.ZeroFreeGlobalAllocUnicode(ptr); } /* using (StreamReader r = new StreamReader(@"projects.json")) { string responseBody = r.ReadLine(); List<Project> projects = ProjectsFactory.Create(responseBody); } */ }
private async void TestButtonClickHandler(object sender, RoutedEventArgs e) { Gitlab.Api.Library.Gitlab gitlab = new Gitlab.Api.Library.Gitlab(this.url.Text); gitlab.ErrorAction = (Exception exception) => { // TODO:例外発生時の処理 }; var ptr = Marshal.SecureStringToGlobalAllocUnicode(this.password.SecurePassword); try { // セキュア文字列を平文へ変換 string password = Marshal.PtrToStringUni(ptr); // セッションの取得 gitlab.RequestSession(this.email.Text, password, (bool saccess) => { gitlab.RequestProjects((List<Project> result) => { // プロジェクトリスト取得 this.ReadProject(gitlab, result[0].Id); }); gitlab.RequestUsers((List<User> result) => { // ユーザーリスト取得 this.ReadUser(gitlab, result[0].Id); }); }); } finally { Marshal.ZeroFreeGlobalAllocUnicode(ptr); } }