示例#1
0
        private void GenerarXML(Comprobantes obj)
        {
            string filename = GetFolder(obj) + obj.GetFileName("xml");

            XmlTextWriter writer = new XmlTextWriter(filename, Encoding.GetEncoding("iso-8859-1"));             //Encoding.UTF8

            writer.Formatting = Formatting.Indented;
            XmlDocument factura = new ComprobantesAdapter(obj).GenerarXml();

            factura.WriteTo(writer);
            writer.Flush();
            writer.Close();
            if (!File.Exists(GetFolder(obj) + "Factura_v1.22.xsl"))
            {
                File.Copy(AppDomain.CurrentDomain.BaseDirectory + "Factura_v1.22.xsl", GetFolder(obj) + "Factura_v1.22.xsl");
            }
        }
示例#2
0
        private void EnviarComprobante(Comprobantes obj, bool show)
        {
            try
            {
                string homologacion = "", validezLegal = "";
                if (ConfigurationManager.AppSettings["FlagEnvir"] == "0")
                {
                    homologacion = "HOMOLOGACIÓN";
                    validezLegal = " TENGA PRESENTE QUE EL COMPROBANTE QUE SE ADJUNTA ES SOLO DE PRUEBA Y EL MISMO NO POSEE VALIDEZ LEGAL";
                }

                string filename = GetFolder(obj) + obj.GetFileName(GeneralSettings.Instance.FormatoComprobante.ToString().ToLower().Substring(0, 3));

                if (!File.Exists(filename))
                {
                    GenerarReporteDetalle(obj, show, filename);
                }

                SmtpClient client = new SmtpClient(GeneralSettings.Instance.SmtpServer, GeneralSettings.Instance.SmtpServerPort);
                client.Credentials = new System.Net.NetworkCredential(GeneralSettings.Instance.SmtpUser, GeneralSettings.Instance.SmtpPass);

                MailAddress from = new MailAddress(GeneralSettings.Instance.SmtpUser, "Factura electronica de " + obj.Empresa.RazonSocial, System.Text.Encoding.UTF8);
                //MailAddress from = new MailAddress(GeneralSettings.Instance.SmtpUser, "Factura electronica " + ((homologacion != "") ? ("(" + homologacion + ") ") : ("")) + obj.Empresa.RazonSocial, System.Text.Encoding.UTF8);
                MailAddress to      = new MailAddress(obj.Cliente.Email);
                MailMessage message = new MailMessage(from, to);
                message.BodyEncoding    = System.Text.Encoding.UTF8;
                message.Subject         = GeneralSettings.Instance.EmailSubject;
                message.SubjectEncoding = System.Text.Encoding.UTF8;
                string userState = "Fact elect";
                //if (GeneralSettings.Instance.FormatoComprobante == FormatoComprobante.HTML) {
                //    string body = GenerarBodyHTML(filename, obj.GetFileNameDetalle());
                //    AlternateView htmlView = AlternateView.CreateAlternateViewFromString(body, null, "text/html");
                //    //create the LinkedResource (embedded image)
                //    LinkedResource logo = new LinkedResource(obj.Empresa.LogoEmpresaFileName);
                //    logo.ContentId = "logo";
                //    //add the LinkedResource to the appropriate view
                //    htmlView.LinkedResources.Add(logo);
                //    //add the views
                //    message.AlternateViews.Add(htmlView);
                //}
                message.Attachments.Add(new Attachment(filename));
                ExportFormatType formatType = FormatoExportacionComprobante(GeneralSettings.Instance.FormatoComprobante);
                if (formatType == ExportFormatType.NoFormat)
                {
                    string filenameXSL = AppDomain.CurrentDomain.BaseDirectory + "Factura_v1.22.xsl";
                    message.Attachments.Add(new Attachment(filenameXSL));
                }
                //message.Body = ("Ha recibido una factura electrónica de " + obj.Empresa.RazonSocial + ", por favor compruebe que la ha recepcionado correctamente, en caso de no ser así sepa disculpar y contactese con la empresa." + "La informacion contenida en el documento adjunto es de indole estrictamente confidencial.");
                message.Body = GeneralSettings.Instance.EmailTexto;
                message.Headers.Add("Disposition-Notification-To", GeneralSettings.Instance.SmtpUser);

                try
                {
                    client.SendAsync(message, userState);
                }
                catch (Exception ex)
                {
                    string err = ex.Message;
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }