public CreateSnippetResult CreateSnippet(string title, string filename, string description, string code, string visibility) { CreateSnippetResult result = new CreateSnippetResult() { Message = "", Snippet = null }; var user = _storage.GetUser(); if (user == null) { throw new UnauthorizedAccessException(Strings.WebService_CreateProject_NotLoginYet); } try { var client = NGitLab.GitLabClient.Connect(user.Host, user.PrivateToken, VsApiVersionToNgitLabversion(user.ApiVersion)); var pjt = GetActiveProject(); if (pjt.SnippetsEnabled) { var snp = client.GetRepository(pjt.Id) .ProjectSnippets .Create( new NGitLab.Models.ProjectSnippetInsert() { Title = title , Code = code , Description = description , FileName = filename , Visibility = visibility , Id = pjt.Id }); result.Snippet = snp; } else { result.Message = Strings.TheSnippetsIsNotEnabled; } } catch (Exception ex) { result.Message = ex.Message; Console.WriteLine(ex.Message); } return(result); }
public CreateSnippetResult CreateSnippet(string title, string filename, string description, string code, string visibility) { CreateSnippetResult result = new CreateSnippetResult() { Message = "", Snippet = null }; try { var client = GetClient(); var pjt = GetActiveProject(); if (pjt.SnippetsEnabled) { var snp = client.GetRepository(pjt.Id) .ProjectSnippets .Create( new NGitLab.Models.ProjectSnippetInsert() { Title = title , Code = code , Description = description , FileName = filename , Visibility = visibility , Id = pjt.Id }); result.Snippet = snp; } else { result.Message = Strings.TheSnippetsIsNotEnabled; } } catch (Exception ex) { result.Message = ex.Message; Console.WriteLine(ex.Message); } return(result); }
private void OnCreateSnippet() { Validate(); if (HasErrors) { return; } IsBusy = true; BusyContent = Strings.CreatingASnippetPleaseWait; var successed = false; CreateSnippetResult createSnippetResult = null; Task.Run(() => { createSnippetResult = _web.CreateSnippet(Title, FileName, Desc, Code, Visibility); if (createSnippetResult != null) { successed = createSnippetResult.Snippet != null; if (NeedOpen && successed) { _shell.OpenUrl(createSnippetResult.Snippet.WebUrl); } } }).ContinueWith(task => { IsBusy = false; BusyContent = null; if (successed) { _dialog.Close(); } else if (createSnippetResult != null && !string.IsNullOrEmpty(createSnippetResult.Message)) { MessageBox.Show(createSnippetResult.Message); } else { MessageBox.Show(Strings.CreateSnippetViewModel_FailedToCreateSnippet); } }, TaskScheduler.FromCurrentSynchronizationContext()).Forget(); }
public async Task <CreateSnippetResult> CreateSnippetAsync(string title, string fileName, string desc, string code, bool visibility) { CreateSnippetResult result = null; var user = await _storage.GetUserAsync(); if (user == null) { result = new CreateSnippetResult { Success = false, Message = Strings.NotLoginYet }; } else { try { var gists = await user.Session.CreateGists(fileName, code, desc, visibility); result = new CreateSnippetResult { WebUrl = gists.html_url, Success = gists != null, Message = Strings.GistsCreated }; } catch (Exception ex) { OutputWindowHelper.ExceptionWriteLine($"LoginAsync:{ex.Message}", ex); result = new CreateSnippetResult() { Success = false, Message = ex.Message }; } } return(result); }