Beispiel #1
0
        public JsonResult GetMergeCandidates(JsonMergeRequest model)
        {
            try
            {
                return(new JsonDotNetResult(_sourceRepository.GetJsonMergeCandidates(model.project, model.environment).OrderBy(o => o.id)));
            }
            catch (BaseException ex)
            {
                _logger.Log(ex);
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
            }

            return(new JsonDotNetResult(null));
        }
Beispiel #2
0
        /// <summary>
        /// Build Merge Target Environment.
        /// </summary>
        public JsonResult BuildMergeEnvironment(JsonMergeRequest model)
        {
            try
            {
                var builds = _buildRepository.QueueJsonMergeEnvironmentBuild(model);
                return(new JsonDotNetResult(builds));
            }
            catch (BaseException ex)
            {
                _logger.Log(ex);
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
            }

            return(new JsonDotNetResult(model));
        }
Beispiel #3
0
        public JsonResult GetMergeViewModel(JsonMergeRequest request)
        {
            try
            {
                var model = new JsonMergeViewModel(request)
                {
                    projects                = _teamRepository.GetJsonProjects().ToList(),
                    project                 = _teamRepository.GetJsonProject(request.project.name),
                    mergeMethods            = _trackingRepository.GetJsonMergeMethods(request.project, request.environment),
                    getWorkItemsPath        = Url.Action("GetWorkItems", "Tracking"),
                    getChangesetsPath       = Url.Action("GetChangesets", "Source"),
                    getMergeCandidatesPath  = Url.Action("GetMergeCandidates", "Source"),
                    getMigrationScriptsPath = Url.Action("GetWorkItemsWithMigrationScripts", "Tracking"),
                    commitChangesetPath     = Url.Action("CommitChangeset", "Source"),
                    mergeChangesetPath      = Url.Action("MergeChangeset", "Source"),
                    buildEnvironmentPath    = Url.Action("BuildMergeEnvironment", "Build")
                };
                model.mergeMethod = model.mergeMethods != null?model.mergeMethods.FirstOrDefault(m => m.selected) : null;

                if (model.mergeMethod != null && model.mergeMethod.options.Any())
                {
                    model.mergeMethodOption = model.mergeMethod.options.FirstOrDefault(m => m.selected);
                    if (model.mergeMethodOption != null)
                    {
                        model.mergeMethodOption.project = new JsonProject((model.project != null ? model.projects.ToList().Find(p => string.Compare(p.name, model.project.name, StringComparison.OrdinalIgnoreCase) == 0) : null)
                                                                          ?? model.projects.ToList().Find(p => p.isDefault)
                                                                          ?? model.projects.FirstOrDefault());
                    }
                }

                return(new JsonDotNetResult(model));
            }
            catch (BaseException ex)
            {
                _logger.Log(ex);
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
            }

            return(new JsonDotNetResult(null));
        }
Beispiel #4
0
 public IEnumerable <IQueuedBuild> QueueJsonMergeEnvironmentBuild(JsonMergeRequest model)
 {
     return(QueueEnvironmentBuild(model.environment.target.value, true));
 }