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++; } })); }
public string[] ObterDesenvolvedores() { return(ChangeSetsCandidatos.Select(d => d.NomeUsuario).OrderBy(e => e).Distinct().ToArray()); }