Exemplo n.º 1
0
 public void CleanCurrentRequestsCallback(object sender, PSBGCompletedEventArgs e)
 {
     if (this.requestsView.InvokeRequired)
     {
         CmdCompleteCallback d = new CmdCompleteCallback(CleanCurrentRequestsCallback);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         if (e.failed)
         {
             MessageBox.Show("Falha ao limpar requests: " + e.failmsg);
         }
         else
         {
             MessageBox.Show("Requests limpos!");
         }
     }
 }
Exemplo n.º 2
0
 public void ReceiveMBOXCompleted(object sender, PSBGCompletedEventArgs e)
 {
     if (this.contentManager.InvokeRequired)
     {
         CmdCompleteCallback d = new CmdCompleteCallback(ReceiveMBOXCompleted);
         this.Invoke(d, new object[] { sender, e });
     }
     else
     {
         if (!e.failed)
         {
             mailboxList.Text = "";
             mailboxList.Items.Clear();
             mboxs = ExchangeUtils.ProcessMBOXOutput(e.OutData);
             for (int i = 0; i < mboxs.Count(); i++)
             {
                 mailboxList.Items.Add(i + ": " + mboxs[i].Alias);
             }
             contentManager.TabPages.Add(backupConfig);
             contentManager.TabPages.Add(currentRequests);
             //MessageBox.Show("Conectado e lista de caixas recebida!");
             connectButton.Enabled = true;
             connected             = true;
             requestUpdate.Enabled = true;
             connectButton.Text    = "Conectado, clique aqui para desconectar.";
         }
         else
         {
             connected             = false;
             requestUpdate.Enabled = false;
             contentManager.TabPages.Remove(backupConfig);
             contentManager.TabPages.Remove(currentRequests);
             connectButton.Text        = "Conectar e Baixar Lista de Usuários";
             serverIPtextBox.Enabled   = true;
             serverUserTextBox.Enabled = true;
             serverPassTextBox.Enabled = true;
             saveServerConfig.Enabled  = true;
             MessageBox.Show("Não foi possível conectar: \r\n" + e.failmsg);
         }
     }
 }
Exemplo n.º 3
0
        public void ProcessRequestsOutput(object sender, PSBGCompletedEventArgs e)
        {
            if (this.requestsView.InvokeRequired)
            {
                CmdCompleteCallback d = new CmdCompleteCallback(ProcessRequestsOutput);
                this.Invoke(d, new object[] { sender, e });
            }
            else
            {
                if (!e.failed)
                {
                    //dataGridView1
                    List <ExchangeRequest> requests = new List <ExchangeRequest>();
                    ExchangeRequest        req      = new ExchangeRequest();
                    RequestOutput          outd     = e.OutData;
                    for (int i = 0, len = outd.ResponseTitles.Count(); i < len; i++)
                    {
                        String title = outd.ResponseTitles[i].ToLower();
                        String value = outd.ResponseValues[i];
                        switch (title)
                        {
                        case "name": req.Name = value; break;

                        case "status": req.Status = value; break;

                        case "filepath": req.Filepath = value; break;

                        case "sourcealias": req.SourceAlias = value; break;

                        case "sourcemailboxidentity": req.SourceMailboxIdentity = value; break;

                        case "contentfilter": req.ContentFilter = value; break;

                        case "overallduration": req.OverallDuration = value; break;

                        case "totalqueuedduration": req.TotalQueuedDuration = value; break;

                        case "totalinprogressduration": req.TotalInProgressDuration = value; break;

                        case "percentcomplete": req.PercentComplete = value; break;

                        case "objectstate": requests.Add(req); req = new ExchangeRequest(); break;
                        }
                    }

                    requestsView.ColumnCount     = 7;
                    requestsView.Columns[0].Name = "Name";
                    requestsView.Columns[1].Name = "Status";
                    requestsView.Columns[2].Name = "SourceAlias";
                    requestsView.Columns[3].Name = "SourceMailboxIdentity";
                    requestsView.Columns[4].Name = "TotalInProgressDuration";
                    requestsView.Columns[5].Name = "PercentComplete";
                    requestsView.Columns[6].Name = "FilePath";
                    int c = 0;
                    foreach (ExchangeRequest reqo in requests)
                    {
                        if (requestsView.Rows.Count > c)
                        {
                            requestsView.Rows[c].Cells[0].Value = reqo.Name;
                            requestsView.Rows[c].Cells[1].Value = reqo.Status;
                            requestsView.Rows[c].Cells[2].Value = reqo.SourceAlias;
                            requestsView.Rows[c].Cells[3].Value = reqo.SourceMailboxIdentity;
                            requestsView.Rows[c].Cells[4].Value = reqo.TotalInProgressDuration;
                            requestsView.Rows[c].Cells[5].Value = reqo.PercentComplete;
                            requestsView.Rows[c].Cells[6].Value = reqo.Filepath;
                        }
                        else
                        {
                            requestsView.Rows.Add(new string[] {
                                reqo.Name,
                                reqo.Status,
                                reqo.SourceAlias,
                                reqo.SourceMailboxIdentity,
                                reqo.TotalInProgressDuration,
                                reqo.PercentComplete,
                                reqo.Filepath
                            });
                        }
                        switch (reqo.Status.ToLower())
                        {
                        case "completed":
                            requestsView.Rows[c].DefaultCellStyle.BackColor = Color.Green; break;

                        case "failed":
                            requestsView.Rows[c].DefaultCellStyle.BackColor = Color.Red; break;

                        case "inprogress":
                            requestsView.Rows[c].DefaultCellStyle.BackColor = Color.Cyan; break;

                        default:
                            requestsView.Rows[c].DefaultCellStyle.BackColor = Color.Yellow; break;
                        }
                        c++;
                    }

                    if (requestsView.Rows.Count > requests.Count)
                    {
                        for (int i = requests.Count; i < requestsView.Rows.Count; i++)
                        {
                            requestsView.Rows.RemoveAt(requestsView.Rows.Count - 1);
                        }
                        requestsView.Refresh();
                    }
                    requestUpdate.Start();
                }
            }
        }