summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Application/Views/Ferramentas/MalaDiretaView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Codemerx/Gestor.Application/Views/Ferramentas/MalaDiretaView.cs')
-rw-r--r--Codemerx/Gestor.Application/Views/Ferramentas/MalaDiretaView.cs301
1 files changed, 301 insertions, 0 deletions
diff --git a/Codemerx/Gestor.Application/Views/Ferramentas/MalaDiretaView.cs b/Codemerx/Gestor.Application/Views/Ferramentas/MalaDiretaView.cs
new file mode 100644
index 0000000..1bb9312
--- /dev/null
+++ b/Codemerx/Gestor.Application/Views/Ferramentas/MalaDiretaView.cs
@@ -0,0 +1,301 @@
+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> 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> 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<ListBox>(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<HosterWindow>("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<KeyValuePair<string, string>> 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;
+ }
+ }
+} \ No newline at end of file