private void updateEmail(object sender, RoutedEventArgs e) { if (null == foundPerson.SelectedItem) { return; } VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person> service = new VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person>(); VerificacionComprobantes.Model.Person person = service.Query(LiteDB.Query.EQ("Name", ((ListBoxItem)foundPerson.SelectedItem).Content.ToString()), "personas").First(); if (string.IsNullOrEmpty(person.Email) || !person.Email.Equals(userEmail.Text)) { person.Email = userEmail.Text; service.Update(person); SelectPerson(sender, null); } }
void worker_DoWork(object sender, DoWorkEventArgs e) { string userName = ""; this.Dispatcher.Invoke(() => { sendEmailButton.IsEnabled = false; ListBoxItem selected = null; selected = (ListBoxItem)foundPerson.SelectedItem; userName = selected == null ? null : selected.Content.ToString(); userEmail.Text = ""; }); if (null == userName) { return; } string tempBox = ""; VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person> service = new VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person>(); VerificacionComprobantes.Model.Person person = service.Query(LiteDB.Query.EQ("Name", userName), "personas").First(); var index = 0; foreach (VerificacionComprobantes.Model.Operation operation in person.Operations) { (sender as BackgroundWorker).ReportProgress((++index * 100) / person.Operations.Count); tempBox += (operation.Entity + " " + operation.FacturationDate + " "); tempBox += (operation.OperationNumber + " $" + operation.Total); if (!string.IsNullOrEmpty(operation.Voucher)) { tempBox += (" " + operation.Voucher); } else if (!string.IsNullOrEmpty(person.Email)) { this.Dispatcher.Invoke(() => { userEmail.Text = person.Email; sendEmailButton.IsEnabled = true; }); } tempBox += (Environment.NewLine); } this.Dispatcher.Invoke(() => { comprobantes.AppendText(tempBox); }); (sender as BackgroundWorker).ReportProgress(0); }
private void sendEmail(object sender, RoutedEventArgs e) { VerificacionComprobantes.Service.ConfigurationServer configServer = VerificacionComprobantes.Service.ConfigurationServer.Instance; VerificacionComprobantes.Service.ConfigurationServer.Configuration config = configServer.getConfiguration(); if (string.IsNullOrEmpty(config.Email.Server)) { //logger.Buffer.Text += "No esta configurado el servidor de emails\n"; return; } VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person> service = new VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person>(); VerificacionComprobantes.Model.Person person = service.Query(LiteDB.Query.EQ("Name", ((ListBoxItem)foundPerson.SelectedItem).Content.ToString()), "personas").First(); if (person == null) { return; } System.Globalization.TextInfo textInfo = new System.Globalization.CultureInfo("es-AR", false).TextInfo; var html = new HtmlAgilityPack.HtmlDocument(); html.Load(@templateChooser.Text); var document = html.DocumentNode; document.QuerySelector("#nombre").InnerHtml = textInfo.ToTitleCase(person.Name); foreach (VerificacionComprobantes.Model.Operation operation in person.Operations) { if (string.IsNullOrEmpty(operation.Voucher)) { var row = HtmlAgilityPack.HtmlNode.CreateNode("<tr>"); var cell = HtmlAgilityPack.HtmlNode.CreateNode("<td style='border: 1px solid #ddd; padding: 8px;'>"); cell.InnerHtml = operation.FacturationDate; row.AppendChild(cell); cell = HtmlAgilityPack.HtmlNode.CreateNode("<td style='border: 1px solid #ddd; padding: 8px;'>"); cell.InnerHtml = operation.Total; row.AppendChild(cell); cell = HtmlAgilityPack.HtmlNode.CreateNode("<td style='border: 1px solid #ddd; padding: 8px;'>"); cell.InnerHtml = operation.Entity; row.AppendChild(cell); document.QuerySelector("#pendientes").AppendChild(row); } } document.QuerySelector("#firmante").InnerHtml = remitente.Text; VerificacionComprobantes.Service.EmailServer server = new VerificacionComprobantes.Service.EmailServer(); server.Send("*****@*****.**", ccEmails.Text, config.Email.Header, html.DocumentNode.OuterHtml); }
private void SearchAction(object sender, RoutedEventArgs e) { comprobantes.Document.Blocks.Clear(); foundPerson.UnselectAll(); foundPerson.Items.Clear(); VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person> service = new VerificacionComprobantes.Service.StorageService <VerificacionComprobantes.Model.Person>(); foreach (VerificacionComprobantes.Model.Person person in service.Query(LiteDB.Query.StartsWith("Name", search.Text), "personas")) { ListBoxItem item = new ListBoxItem(); item.Content = person.Name; foundPerson.Items.Add(item); } }