示例#1
0
        public bool ValidaLinhasOrcamento(dynamic _objCompra, ref string str_aviso, ref string str_erro)
        {
            bool   flag;
            string source = "GestaoOrcamentos.ValidaLinhasOrcamento";
            string log    = base.GetParameter("PastaErro");
            bool   cancel = false;

            try
            {
                GcpBEDocumentoCompra objCompra = (GcpBEDocumentoCompra)_objCompra;
                for (int i = 1; i <= objCompra.get_Linhas().NumItens; i++)
                {
                    int num = i;
                    GcpBELinhaDocumentoCompra edita = objCompra.get_Linhas().get_Edita(ref num);
                    if (edita.get_ContaCBL().Length == 0)
                    {
                        cancel = true;
                    }
                    if (edita.get_CCustoCBL().Length == 0)
                    {
                        cancel = true;
                    }
                    if (edita.get_IDObra().Length == 0)
                    {
                        cancel = true;
                    }
                }
                flag = cancel;
            }
            catch (Exception exception)
            {
                Exception ex = exception;
                base.escreveErro(log, source, string.Format("<{0}>_{1}", source, ex.Message));
                flag = true;
            }
            return(flag);
        }
示例#2
0
        public bool EnviaEmail(dynamic _objCompra, string email_to, string mensaguem, ref string str_aviso, ref string str_erro)
        {
            bool   flag;
            string source = "GestaoOrcamentos.EnviaEmails";
            string log    = base.GetParameter("Mail_log");
            string idioma = "2070";

            try
            {
                GcpBEDocumentoCompra objCompra = (GcpBEDocumentoCompra)_objCompra;

                base.GetParameter("Mail_Report");

                string email_mensaguem = base.GetParameter("Mail_Mensaguem");
                string email_cc        = base.GetParameter("Mail_CC");
                string email_bcc       = base.GetParameter("Mail_BCC");

                base.GetParameter("Mail_TipoContacto");

                string email_assunto = base.GetParameter("Mail_Assunto");
                string email_body    = "";

                Dictionary <string, string> dicionario = new Dictionary <string, string>()
                {
                    { "Artigo_2070", "Artigo" },
                    { "Descricao_2070", "Descrição" },
                    { "Unidade_2070", "Unidade" },
                    { "Quantidade_2070", "Quantidade" },
                    { "PrecUnit_2070", "Preço Unit." },
                    { "Total_2070", "Total" },
                    { "ContaCBL_2070", "Conta" },
                    { "CCustoCBL_2070", "Area de Negocio" }
                };

                string primPar = base.GetParameter("Mail_primPar");
                string segPar  = base.GetParameter("Mail_segPar");
                string terPar  = base.GetParameter("Mail_terPar");

                email_body = string.Concat(email_body, " \r\n                    <html xmlns:v='urn:schemas-microsoft-com:vml' xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns:m='http://schemas.microsoft.com/office/2004/12/omml' xmlns='http://www.w3.org/TR/REC-html40'><head><meta http-equiv=Content-Type content='text/html; charset=iso-8859-1'><meta name=Generator content='Microsoft Word 15 (filtered medium)'><!--[if gte mso 9]><xml>\r\n                            <o:shapedefaults v:ext='edit' spidmax='1026' /></xml><![endif]--><!--[if gte mso 9]><xml><o:shapelayout v:ext='edit'><o:idmap v:ext='edit' data='1' />\r\n                         </o:shapelayout></xml><![endif]-->\r\n                        <style>\r\n                            body {\r\n                                font: normal 10px Verdana, Arial, sans-serif;\r\n                                font-size:11.0pt;\r\n                                font-family:'Calibri',sans-serif;\r\n                                mso-fareast-language:PT\r\n                            }\r\n                        </style>\r\n\r\n                    </head><body lang=PT > ");
                email_body = string.Concat(email_body, string.Format("<div> \r\n                        <p><span>{0}</span></p>\r\n                        {1}\r\n                        <p><span>{2}</span></p>\r\n                        <p><span>{3}</span></p>\r\n                    </div>", new object[] { primPar, mensaguem, segPar, terPar }));
                email_body = string.Concat(email_body, "<div><table border=2 cellspacing=10 cellpadding=10 style='border-collapse:collapse'>");
                email_body = string.Concat(email_body, string.Format("<tr>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{0}</b></p></td>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{1}</b></p></td>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{2}</b></p></td>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{3}</b></p></td>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{4}</b></p></td>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{5}</b></p></td>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{6}</b></p></td>\r\n                         <td width=100 valign=top style='width:100pt;color:white;background:#5C6BC0;padding:0cm 5.4pt 0cm 5.4pt'><p align=center style='text-align:center'><b>{7}</b></p></td>\r\n                     </tr>\r\n                ", new object[] { dicionario[string.Concat("Artigo_", idioma)], dicionario[string.Concat("Descricao_", idioma)], dicionario[string.Concat("Unidade_", idioma)], dicionario[string.Concat("Quantidade_", idioma)], dicionario[string.Concat("PrecUnit_", idioma)], dicionario[string.Concat("Total_", idioma)], dicionario[string.Concat("ContaCBL_", idioma)], dicionario[string.Concat("CCustoCBL_", idioma)] }));

                for (int i = 1; i <= objCompra.get_Linhas().NumItens; i++)
                {
                    int num = i;
                    GcpBELinhaDocumentoCompra linha = objCompra.get_Linhas().get_Edita(ref num);

                    short  ano       = (short)objCompra.get_DataDoc().Year;
                    string cCustoCBL = linha.get_CCustoCBL();
                    string contaCBL  = linha.get_ContaCBL();

                    string centroNome = base.bso.Contabilidade.CentrosCusto.DaValorAtributo(ano, cCustoCBL, "Descricao").ToString();
                    string contaNome  = base.bso.Contabilidade.PlanoContas.DaValorAtributo(ano, contaCBL, "Descricao").ToString();
                    email_body = string.Concat(email_body, string.Format("\r\n                            <tr>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{0}</p></td>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{1}</p></td>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{2}</p></td>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{3}</p></td>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{4}</p></td>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{5}</p></td>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{6} - {7}</p></td>\r\n                                <td width=100 valign=top style='width:100pt;padding:0cm 5.4pt 0cm 5.4pt'><p align=right style='text-align:left'>{8} - {9}</p></td>\r\n                            </tr>\r\n                        ", new object[] { linha.get_Artigo(), linha.get_Descricao(), linha.get_Unidade(), linha.get_Quantidade(), linha.get_PrecUnit(), linha.get_PrecoLiquido(), linha.get_ContaCBL(), contaNome, linha.get_CCustoCBL(), centroNome }));
                }

                email_body      = string.Concat(email_body, " </table> <p></p> </div>");
                email_body      = string.Concat(email_body, "</body></html>");
                email_mensaguem = email_body;

                if (email_to.Length <= 0)
                {
                    throw new Exception(string.Format("O email não foi enviado porque não existe nenhum contacto associado ao utilizador!", new object[0]));
                }

                this.EnviaEmailNativo(email_to, email_mensaguem, email_cc, email_bcc, email_assunto);

                flag = true;
            }
            catch (Exception exception)
            {
                Exception ex = exception;
                base.escreveErro(log, source, string.Format("<{0}>_{1}", source, ex.Message));
                flag = false;
            }
            return(flag);
        }