using Gestor.Application.Componentes; using Gestor.Application.Helpers; using Gestor.Application.ViewModels.Ferramentas; using Gestor.Application.ViewModels.Generic; using Gestor.Application.Views.Generic; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.Common; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.MalaDireta; using MaterialDesignThemes.Wpf; using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Markup; using Xceed.Wpf.AvalonDock.Controls; namespace Gestor.Application.Views.Ferramentas { public class MalaDiretaView : BaseUserControl, IComponentConnector, IStyleConnector { internal MalaDiretaViewModel ViewModel; internal DataGrid Grid; internal TextBox AssuntoBox; internal Gestor.Application.Componentes.WebEditor WebEditor; private bool _contentLoaded; [DebuggerNonUserCode] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] internal Delegate _CreateDelegate(Type delegateType, string handler) { return Delegate.CreateDelegate(delegateType, this, handler); } public MalaDiretaView(List maladireta, string assunto = null, string corpo = null, FiltroArquivoDigital filtro = null) { this.ViewModel = new MalaDiretaViewModel(filtro); base.DataContext = this.ViewModel; this.InitializeComponent(); this.CarregarClientes(maladireta, assunto, corpo); } private async void AdicionarCC_OnClick(object sender, RoutedEventArgs e) { Button button = (Button)sender; if (button.DataContext != null) { this.WebEditor.Visibility = System.Windows.Visibility.Collapsed; Copia copium = await this.ViewModel.ShowCopiaDialog(((MalaDireta)button.DataContext).get_Copia()); this.WebEditor.Visibility = System.Windows.Visibility.Visible; if (copium != null) { ((MalaDireta)button.DataContext).set_Copia(copium); } } button = null; } private void Alterar_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.Alterar(true); } private void AnexarArquivos_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.Anexar(); } private void Cancelar_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.CancelarAlteracao(); } private async void CarregarClientes(List maladireta, string assunto = null, string corpo = null) { this.ViewModel.IsEnabled = false; await this.ViewModel.CarregarEmails(maladireta, assunto, corpo); this.ViewModel.IsEnabled = true; } private void CheckBox_Checked(object sender, RoutedEventArgs e) { this.ViewModel.Selecionar(); } private void DeleteArquivo_OnDeleteClick(object sender, RoutedEventArgs e) { Chip chip = sender as Chip; if (chip == null) { return; } ListBox listBox = Extentions.FindVisualAncestor(chip); Gestor.Model.Domain.Common.ArquivoDigital item = (Gestor.Model.Domain.Common.ArquivoDigital)listBox.Items[listBox.Items.IndexOf(chip.DataContext)]; if (item == null) { return; } this.ViewModel.Delete(item); } private async void Enviar_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.IsEnabled = false; this.ViewModel.Corpo = this.WebEditor.GetHtml(); await this.ViewModel.Enviar(); this.ViewModel.IsEnabled = true; } private void Excluir_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.Excluir(); } private void Fechar_OnClick(object sender, RoutedEventArgs e) { Funcoes.Destroy("ENVIO DE E-MAIL"); } private void Incluir_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.Incluir(); this.AssuntoBox.Focus(); } [DebuggerNonUserCode] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] public void InitializeComponent() { if (this._contentLoaded) { return; } this._contentLoaded = true; System.Windows.Application.LoadComponent(this, new Uri("/Gestor.Application;component/views/ferramentas/maladiretaview.xaml", UriKind.Relative)); } private void ModelosBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox comboBox = (ComboBox)sender; if (comboBox.SelectedItem == null) { return; } ModeloMalaDireta modeloMalaDireta = ((ComboModelo)comboBox.SelectedItem).ModeloMalaDireta; if (modeloMalaDireta.get_Id() == 0) { return; } this.ViewModel.Corpo = modeloMalaDireta.get_Corpo(); this.ViewModel.Assunto = modeloMalaDireta.get_Assunto(); } private async void Salvar_OnClick(object sender, RoutedEventArgs e) { bool flag; this.ViewModel.Loading(true); this.ViewModel.Corpo = this.WebEditor.GetHtml(); List> keyValuePairs = await this.ViewModel.Salvar(); flag = (keyValuePairs == null ? true : keyValuePairs.Count == 0); this.ViewModel.Loading(false); if (!flag) { await this.ViewModel.ShowMessage(keyValuePairs, this.ViewModel.ErroCamposInvalidos, "OK", ""); } } [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: { this.Grid = (DataGrid)target; return; } case 2: case 3: case 12: { this._contentLoaded = true; return; } case 4: { ((MenuItem)target).Click += new RoutedEventHandler(this.Incluir_OnClick); return; } case 5: { ((MenuItem)target).Click += new RoutedEventHandler(this.Alterar_OnClick); return; } case 6: { ((MenuItem)target).Click += new RoutedEventHandler(this.Salvar_OnClick); return; } case 7: { ((MenuItem)target).Click += new RoutedEventHandler(this.Cancelar_OnClick); return; } case 8: { ((MenuItem)target).Click += new RoutedEventHandler(this.Excluir_OnClick); return; } case 9: { ((ComboBox)target).SelectionChanged += new SelectionChangedEventHandler(this.ModelosBox_SelectionChanged); return; } case 10: { this.AssuntoBox = (TextBox)target; return; } case 11: { ((ComboBox)target).SelectionChanged += new SelectionChangedEventHandler(this.VariaveisBox_SelectionChanged); return; } case 13: { this.WebEditor = (Gestor.Application.Componentes.WebEditor)target; return; } case 14: { ((MenuItem)target).Click += new RoutedEventHandler(this.AnexarArquivos_OnClick); return; } case 15: { ((MenuItem)target).Click += new RoutedEventHandler(this.Enviar_OnClick); return; } case 16: { ((MenuItem)target).Click += new RoutedEventHandler(this.Fechar_OnClick); return; } default: { this._contentLoaded = true; return; } } } [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { if (connectionId == 2) { ((CheckBox)target).Checked += new RoutedEventHandler(this.CheckBox_Checked); ((CheckBox)target).Unchecked += new RoutedEventHandler(this.CheckBox_Checked); return; } if (connectionId == 3) { ((Button)target).Click += new RoutedEventHandler(this.AdicionarCC_OnClick); return; } if (connectionId != 12) { return; } ((Chip)target).add_DeleteClick(new RoutedEventHandler(this.DeleteArquivo_OnDeleteClick)); } private void VariaveisBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox comboBox = (ComboBox)sender; if (comboBox.SelectedItem == null) { return; } VariaveisMalaDireta variaveisMalaDireta = ((ComboVariavel)comboBox.SelectedItem).VariaveisMalaDireta; this.WebEditor.InsertText(string.Concat(ValidationHelper.GetEntity(variaveisMalaDireta), " ")); comboBox.SelectedItem = null; } } }