Example #1
0
        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());
        }
Example #2
0
        public RepositoryPage(RepositoryDto repository)
        {
            InitializeComponent();
            var viewModel = App.Locator.Repository;

            BindingContext       = viewModel;
            viewModel.Repository = repository;

            Task.Run(() => viewModel.LoadRepositoryContributors(repository.Id));
        }
Example #3
0
        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!");
            }
        }
Example #4
0
        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));
        }
Example #5
0
        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);
 }
Example #8
0
 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);
        }
Example #10
0
 private void NavigateToRepositoryPage(RepositoryDto repository)
 {
     _navigationService.NavigateTo(PagesConsts.RepositoryPage, repository);
 }
 public BenchmarkRequestDto(string benchmark, RepositoryDto targetRepository, RepositoryDto sourceRepository)
 {
     Benchmark        = benchmark;
     TargetRepository = targetRepository;
     SourceRepository = sourceRepository;
 }