Esempio n. 1
0
        /// <summary>
        /// Merge Changeset.
        /// </summary>
        public JsonResult GetChangesets(JsonMergeViewModel model)
        {
            try
            {
                return(new JsonDotNetResult(_sourceRepository.GetJsonChangesetsByWorkItemState(model).OrderBy(o => o.id).ToList()));
            }
            catch (BaseException ex)
            {
                _logger.Log(ex);
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
            }

            return(new JsonDotNetResult(null));
        }
Esempio n. 2
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));
        }
Esempio n. 3
0
        /// <summary>
        /// gets changesets for all work items of a specified state
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public IEnumerable <JsonMergeCandidateChangeset> GetJsonChangesetsByWorkItemState(JsonMergeViewModel model)
        {
            var result = BLL.Source.GetChangesetsByWorkItemState(SourceDataAccess, (Project)model.mergeMethodOption.project, model.mergeMethodOption.methodValue, (MergeEnvironment)model.environment);

            return(result != null?result.Select(c => new JsonMergeCandidateChangeset(c, model)) : null);
        }