// TODO продумать какие запросы мы будем отрабатывать через сервер // в смысле log, push, pool, clone, и в таком духе public string GetPoolQuery(Repository repository) { // TODO string queryString = ""; return queryString; }
/// <summary> /// Конструктор принимающий параметрами /// репозиторий и запрос который к нему необходимо выполнить /// </summary> /// <param name="repository">Необходимый для запроса репозиторий</param> /// <param name="selectedQuery">Запрос для выбранного репозитория</param> public QueryConstructor(Repository repository, HgCommands selectedQuery) { this.repository = repository; this.selectedQuery = selectedQuery; }
private void pullButton_Click(object sender, EventArgs e) { if (notUpdatedRepositorys != null) { if (checkedBoxRepositoryList.CheckedItems.Count != 0) { List<string> needToUpdateRepositorys = new List<string>(); foreach (string repositoryName in checkedBoxRepositoryList.CheckedItems) { needToUpdateRepositorys.Add(repositoryName); } Config config = Config.ConfigFileReader(); List<Repository> listNotUpdatedRepositorys = new List<Repository>(); List<Repository> listUpdatedRepositorys = new List<Repository>(); foreach (Repository repository in notUpdatedRepositorys) { listNotUpdatedRepositorys.Add(repository); } foreach (Repository repository in updatedRepositorys) { listUpdatedRepositorys.Add(repository); } foreach (string reposytoreForUpdate in needToUpdateRepositorys) { foreach (Repository repositoryInConfig in config.listOfRepositories) { if (reposytoreForUpdate == repositoryInConfig.nameOfRepository) { QueryConstructor queryPull = new QueryConstructor(repositoryInConfig, HgCommands.pull); queryPull.QuerySender(); Repository repositoryCopy = new Repository(); foreach (Repository repos in listNotUpdatedRepositorys) { if (repos.nameOfRepository == reposytoreForUpdate) { repositoryCopy = repos; } } listNotUpdatedRepositorys.Remove(repositoryCopy); listUpdatedRepositorys.Add(repositoryInConfig); break; } } } notUpdatedRepositorys = listNotUpdatedRepositorys.ToArray(); updatedRepositorys = listUpdatedRepositorys.ToArray(); Invoke(new Action(ViewUpdatesOnForm)); MessageBox.Show("Обновление выполнено успешно!"); } else { MessageBox.Show("Репозитории для обновления небыли выбраны"); } } else { MessageBox.Show("Репозитории требующие обновления не обнаружены"); } }
//пробегает список находя совпадающее имя репозитория /// <summary> /// Принимает имя репозитория возвращая объект клсса Repository с данными о нем /// </summary> /// <param name="name"> Имя репозитория</param> /// <returns></returns> public Repository GetRepository(string name) { Repository repos = new Repository(); if (listOfRepositories != null) { foreach(Repository repository in listOfRepositories) { if(repository.nameOfRepository == name) { repos = repository; } } } return repos; }