private void MenuEnviarAlCliente_Click(object sender, EventArgs e) { var contieneCopiada = false; var cotizacionDirectas = new List <CotizacionDirecta>(); foreach (var c in ListCotizaciones) { var cot = ClsCotizacionDirecta.ObtieneCotizacionDirecta(c.Id32).ObjetoTransaccion as CotizacionDirecta; cotizacionDirectas.Add(cot); if (cot.CopiadoDe != null && cot.CopiadoDe != 0) { contieneCopiada = true; break; } } DialogResult res = DialogResult.None; if (contieneCopiada) { res = MessageBox.Show("Algunas de las cotizaciones fueron copiadas. Confirma el envío al cliente?", "Sistema Comercial Craft", MessageBoxButtons.YesNo, MessageBoxIcon.Question); } if (!contieneCopiada || res == DialogResult.Yes) { foreach (var cotizacionDirecta in cotizacionDirectas) { var mailObject = new EnvioMailObject(); var xmldoc = new XmlDocument(); xmldoc.Load(Path.Combine(Application.StartupPath, @"Cotizaciones\CotizacionSetting.xml")); var subject = xmldoc.SelectSingleNode("/setting/cotizacionDirecta/subjectMail").InnerText; subject = subject.Replace("[nombreCliente]", cotizacionDirecta.Cliente.NombreCliente); var htmlBody = cotizacionDirecta.GenerateHtmlPreviewAndBody(Application.StartupPath); var htmlPDF = cotizacionDirecta.GenerateHTMLforPDF(Application.StartupPath); var listPath = new List <String> { mailObject.GeneratePdfFromHtml(htmlPDF, cotizacionDirecta.Numero) }; mailObject.EnviarMailCotizacionDirecta(subject, htmlBody, listPath); ClsCotizacionDirectaEstadoDao.CambioEstado(cotizacionDirecta.Id32, 4); var logCot = CreaLog(cotizacionDirecta, EnumTipoLogCotizacionDirecta.Envio); ClsLogCotizacionesDirecta.Guardar(logCot); } } Instancia = null; Close(); }
private void MenuSalir_Click(object sender, EventArgs e) { Instancia = null; Close(); }
private void MenuEnviarAlCliente_Click(object sender, EventArgs e) { ListCotizacionesSeleccionadas = new List<ITableable>(); HijosSeleccionados = new List<ITableableOpcion>(); ActiveControl = txtComentario; foreach (var reg in ListCotizaciones) { if (reg.Seleccionado.Equals(true)) { ListCotizacionesSeleccionadas.Add(reg); string hijos = ""; Log.EscribirLog("padre ID:" + reg.Id); foreach (var op in reg.OpcionesView) if (op != null) hijos += "," + op.Id; Log.EscribirLog("padre ID:" + reg + ", Hijos ID:" + hijos); } else //debo seleccionar los hijos por separado { string hijos = ""; if (!string.IsNullOrEmpty(hijos)) { Log.EscribirLog("padre ID:" + reg.Id + ", Hijos ID:" + hijos); ListCotizacionesSeleccionadas.Add(CreaPadreDesdeUnHijo((List<ITableableOpcion>)HijosSeleccionados, reg)); } } } var frm = new FrmPrintPreviewCotizacoines((List<ITableable>)ListCotizacionesSeleccionadas); frm.ShowDialog(); }