コード例 #1
0
ファイル: JobsView.cs プロジェクト: elogysic/BulkMailSender
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (treeView1.SelectedNode == null)
            {
                _elencoMailInInvio       = new ObservableCollection <MailToSend>(new List <MailToSend>());
                dataGridView1.DataSource = _elencoMailInInvio;
            }
            else
            {
                var list = AppRepo.GetMailsDelJob(CurrentJobId).OrderBy(x => x.Address?.ToLower()).ToList();

                var destinatari = AppSvc.GetDestinatariDelRecipienteCorrente();
                list.AddRange(destinatari.Select(x => new MailToSend()
                {
                    Id      = Guid.NewGuid().ToString("N"),
                    Address = x.Address,
                    Nome    = x.Nome,
                    IdJob   = CurrentJobId
                }));

                var lookup = list.ToLookup(x => x.Address?.ToLower());
                lookup.Where(x => x.Count() > 1)
                .ToList()
                .ForEach(x =>
                {
                    foreach (var m in x.Where(ss => ss.State == null))
                    {
                        list.RemoveAll(k => k.Id == m.Id);
                    }
                });

                _elencoMailInInvio       = new ObservableCollection <MailToSend>(list);
                dataGridView1.DataSource = _elencoMailInInvio;
            }
        }