Ejemplo n.º 1
0
        //Gerar Emails Relacionados a Ordens Boletadas
        private void BtnGerarEmails_Click(object sender, RibbonControlEventArgs e)
        {
            List <BL_Ordem>  Ordens  = new BL_Ordem().DadosPorData(DateTime.Today).Where(x => x.STATUS == "Boletado").ToList();
            List <BL_Boleta> Boletas = new BL_Boleta().DadosDia(DateTime.Today);

            //Seleciona a pasta Boletas Recebidas
            Microsoft.Office.Interop.Outlook.Application outlook = new Microsoft.Office.Interop.Outlook.Application();
            NameSpace  nameSpace          = outlook.GetNamespace("MAPI");
            MAPIFolder mapiFolderPurchase = nameSpace.GetDefaultFolder(OlDefaultFolders.olFolderInbox).Parent;
            MAPIFolder BoletadosFolder    = mapiFolderPurchase.Folders["Boletas Recebidas"];

            foreach (MailItem Email in BoletadosFolder.Items.OfType <MailItem>())
            {
                if (Ordens.Where(x => Email.Body.Contains("ID ORDEM (" + x.IDORDEM + ")")).Count() == 1)
                {
                    BL_Ordem OrdemEmail = Ordens.FirstOrDefault(x => Email.Body.Contains("ID ORDEM (" + x.IDORDEM + ")"));

                    string HTML = "";

                    if (Boletas.Where(x => x.IDORDEM == OrdemEmail.IDORDEM).Count() > 2)
                    {
                        HTML = new HTML().ConfirmaTabela(Boletas.Where(x => x.IDORDEM == OrdemEmail.IDORDEM).ToList());
                    }
                    else
                    {
                        HTML = new HTML().ConfirmaIndividual(Boletas.Where(x => x.IDORDEM == OrdemEmail.IDORDEM).ToList());
                    }

                    MailItem EmailReply = Email.ReplyAll();
                    EmailReply.HTMLBody = HTML + EmailReply.HTMLBody;
                    EmailReply.Display();

                    //if (MessageBox.Show("Deseja enviar o Email gerado?", "Envio de Email", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    //{
                    //    //EmailReply.Send();
                    //    //OrdemEmail.Editar(OrdemEmail.IDORDEM, "Concluído");
                    //}
                    //else { EmailReply.Close(OlInspectorClose.olDiscard); }
                }
            }
        }