public async Task <IActionResult> PutRepository(string id, RepositoryDto repositorydto) { if (id != repositorydto.name) { return(BadRequest()); } var repository = repositorydto.ToModel(); _context.Repositories.Update(repository); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RepositoryExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public RepositoryPage(RepositoryDto repository) { InitializeComponent(); var viewModel = App.Locator.Repository; BindingContext = viewModel; viewModel.Repository = repository; Task.Run(() => viewModel.LoadRepositoryContributors(repository.Id)); }
public static RepositoryManager CreateManagerFrom(RepositoryDto repository, IServiceProvider provider) { switch (repository.repositoryType) { case RepositoryType.Git: return(new GitRepositoryManager(provider.GetService <ILogger <GitRepositoryManager> >(), repository.url, repository.branch, CredentialMapper.ToModel(repository.credential))); default: throw new ApplicationException($"The repository type {repository.GetType()} is not supported!"); } }
public async Task <ActionResult <RepositoryDto> > PostRepository(RepositoryDto repositoryDto) { var repository = repositoryDto.ToModel(); if (repository == null) { return(UnprocessableEntity($"The repository type {repositoryDto.repositoryType} is not supported!")); } _context.Repositories.Add(repository); await _context.SaveChangesAsync(); return(CreatedAtAction("GetRepository", new { id = repository.Name }, repository)); }
public void AddCommits(string username, string repositoryName, List <Response> commits) { var user = new UserDto() { Username = username }; var repository = new RepositoryDto() { Name = repositoryName }; GithubDao.InsertCommits(user, repository, mapper.Map <List <CommitDto> >(commits)); }
private bool InsertRepository(out int?repositoryId, RepositoryDto repository) { try { var command = connection.CreateCommand(); command.CommandText = GithubDao.insertRepository; command.Parameters.AddWithValue("@repository_name", repository.Name); command.Parameters.AddWithValue("@user_id", repository.UserId); var result = command.ExecuteNonQuery(); repositoryId = Convert.ToInt32(connection.LastInsertRowId); return(true); } catch (Exception ex) { Console.WriteLine(String.Format(ProjectResources.DatabaseError, ex.Message)); this.CloseConnection(); repositoryId = null; return(false); } }
private string GetRepoName(RepositoryDto repositoryDto) { return(repositoryDto.Type.Equals("github", StringComparison.InvariantCultureIgnoreCase) ? repositoryDto.Id : repositoryDto.Name); }
public static RepositoryManager GetRepositoryManager(this RepositoryDto repository, IServiceProvider provider) { return(RepositoryManager.CreateManagerFrom(repository, provider)); }
public bool InsertCommits(UserDto user, RepositoryDto repository, List <CommitDto> commits) { int?userId, repositoryId; this.OpenConnection(); if (CheckIfRepositoryExist(out repositoryId, user.Username, repository.Name)) { if (repositoryId.HasValue) { DeleteCommits(repositoryId.Value); foreach (var item in commits) { int?commitId; if (!InsertCommit(out commitId, item, repositoryId.Value)) { return(false); } } Console.WriteLine(ProjectResources.DatabaseOperationSuccess); this.CloseConnection(); return(true); } } else { return(false); } if (CheckIfUserExist(out userId, user.Username)) { if (userId.HasValue) { repository.UserId = userId.Value; if (!InsertRepository(out repositoryId, repository)) { return(false); } repository.Id = repositoryId.Value; } else { if (!InsertUser(out userId, user)) { return(false); } user.Id = userId.Value; repository.UserId = userId.Value; if (!InsertRepository(out repositoryId, repository)) { return(false); } repository.Id = repositoryId.Value; } foreach (var item in commits) { int?commitId; if (!InsertCommit(out commitId, item, repositoryId.Value)) { return(false); } } Console.WriteLine(ProjectResources.DatabaseOperationSuccess); this.CloseConnection(); return(true); } return(false); }
private void NavigateToRepositoryPage(RepositoryDto repository) { _navigationService.NavigateTo(PagesConsts.RepositoryPage, repository); }
public BenchmarkRequestDto(string benchmark, RepositoryDto targetRepository, RepositoryDto sourceRepository) { Benchmark = benchmark; TargetRepository = targetRepository; SourceRepository = sourceRepository; }