예제 #1
0
        public Task CarregaMerges()
        {
            return(Task.Run(() =>
            {
                Merges = new List <Merge>();
                var selecionados = (from a in ChangesetsFiltrados
                                    where a.Selecionado
                                    orderby a.Data ascending
                                    select a).ToArray();

                var todos = ChangeSetsCandidatos.OrderBy(d => d.Data).ToArray();
                int index = 0;
                ChangeSet changesetDe = null;
                foreach (var item in selecionados)
                {
                    ChangeSet poximoSelecionados = null;
                    ChangeSet proximoTodos = null;

                    if (index < selecionados.Length - 1)
                    {
                        poximoSelecionados = selecionados[index + 1];

                        var objTodos = todos.Where(d => d.Id == item.Id).First();
                        var indiceTodos = Array.IndexOf(todos, objTodos);
                        proximoTodos = todos[indiceTodos + 1];
                    }

                    if (changesetDe == null)
                    {
                        changesetDe = item;
                        if (poximoSelecionados == null || poximoSelecionados.Id != proximoTodos.Id)
                        {
                            Merges.Add(new Merge
                            {
                                IdChangeSetInicio = item.Id,
                                IdChangeSetFim = item.Id,
                                Mensagem = "Merge: " + item.Id.ToString() + " - " + item.Id.ToString()
                            });
                            changesetDe = null;
                            index++;
                            continue;
                        }
                    }
                    else if (poximoSelecionados == null || poximoSelecionados.Id != proximoTodos.Id)
                    {
                        Merges.Add(new Merge
                        {
                            IdChangeSetInicio = changesetDe.Id,
                            IdChangeSetFim = item.Id,
                            Mensagem = "Merge: " + changesetDe.Id.ToString() + " - " + item.Id.ToString()
                        });
                        changesetDe = null;
                        index++;
                        continue;
                    }
                    index++;
                }
            }));
        }
예제 #2
0
 public string[] ObterDesenvolvedores()
 {
     return(ChangeSetsCandidatos.Select(d => d.NomeUsuario).OrderBy(e => e).Distinct().ToArray());
 }