diff options
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Generic/DialogTarefaViewModel.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.ViewModels.Generic/DialogTarefaViewModel.cs | 300 |
1 files changed, 300 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Generic/DialogTarefaViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Generic/DialogTarefaViewModel.cs new file mode 100644 index 0000000..6e53508 --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels.Generic/DialogTarefaViewModel.cs @@ -0,0 +1,300 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Linq; +using System.Windows; +using CsQuery.ExtensionMethods.Internal; +using Gestor.Application.Helpers; +using Gestor.Model.Domain.Ferramentas; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; + +namespace Gestor.Application.ViewModels.Generic; + +public class DialogTarefaViewModel : BaseSegurosViewModel +{ + private bool _showPublica; + + private bool _nota; + + private Visibility _cabecalho; + + private Visibility _agendamento; + + private Visibility _status; + + private List<TelefoneBase> _telefones; + + private ObservableCollection<Usuario> _usuarios; + + private Tarefa _tarefa; + + private DateTime _dataAgendamento = Funcoes.GetNetworkTime(); + + private DateTime _horaAgendamento = Funcoes.GetNetworkTime(); + + private ObservableCollection<Usuario> _responsaveis = new ObservableCollection<Usuario>(); + + private Usuario _selectedUsuario; + + private bool _isAnotacoes = true; + + public bool ShowPublica + { + get + { + return _showPublica; + } + set + { + _showPublica = value; + OnPropertyChanged("ShowPublica"); + } + } + + public bool Nota + { + get + { + return _nota; + } + set + { + _nota = value; + if (value) + { + Cabecalho = (Visibility)2; + Status = (Visibility)2; + } + } + } + + public Visibility Cabecalho + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _cabecalho; + } + set + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + //IL_0002: Unknown result type (might be due to invalid IL or missing references) + //IL_000e: Unknown result type (might be due to invalid IL or missing references) + _cabecalho = value; + this.MutateVerbose(ref _cabecalho, value, OnRaisePropertyChanged(), "Cabecalho"); + } + } + + public Visibility Agendamento + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _agendamento; + } + set + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + //IL_0002: Unknown result type (might be due to invalid IL or missing references) + //IL_000e: Unknown result type (might be due to invalid IL or missing references) + _agendamento = value; + this.MutateVerbose(ref _agendamento, value, OnRaisePropertyChanged(), "Agendamento"); + } + } + + public Visibility Status + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _status; + } + set + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + //IL_0002: Unknown result type (might be due to invalid IL or missing references) + //IL_000e: Unknown result type (might be due to invalid IL or missing references) + _status = value; + this.MutateVerbose(ref _status, value, OnRaisePropertyChanged(), "Status"); + } + } + + public List<TelefoneBase> Telefones + { + get + { + return _telefones; + } + set + { + _telefones = value; + this.MutateVerbose(ref _telefones, value, OnRaisePropertyChanged(), "Telefones"); + } + } + + public ObservableCollection<Usuario> Usuarios + { + get + { + return _usuarios; + } + set + { + _usuarios = value; + this.MutateVerbose(ref _usuarios, value, OnRaisePropertyChanged(), "Usuarios"); + } + } + + public Tarefa Tarefa + { + get + { + return _tarefa; + } + set + { + DateTime networkTime = Funcoes.GetNetworkTime(); + DataAgendamento = ((value != null) ? value.Agendamento : networkTime); + HoraAgendamento = ((value != null) ? value.Agendamento : networkTime); + this.MutateVerbose(ref _tarefa, value, OnRaisePropertyChanged(), "Tarefa"); + } + } + + public DateTime DataAgendamento + { + get + { + return _dataAgendamento; + } + set + { + _dataAgendamento = value; + if (Tarefa != null) + { + Tarefa.Agendamento = DateTime.Parse($"{value:d} {Tarefa.Agendamento:T}"); + } + this.MutateVerbose(ref _dataAgendamento, value, OnRaisePropertyChanged(), "DataAgendamento"); + } + } + + public DateTime HoraAgendamento + { + get + { + return _horaAgendamento; + } + set + { + _horaAgendamento = value; + if (Tarefa != null) + { + Tarefa.Agendamento = DateTime.Parse($"{Tarefa.Agendamento:d} {value:T}"); + } + this.MutateVerbose(ref _horaAgendamento, value, OnRaisePropertyChanged(), "HoraAgendamento"); + } + } + + public ObservableCollection<Usuario> Responsaveis + { + get + { + return _responsaveis; + } + set + { + _responsaveis = value; + OnPropertyChanged("Responsaveis"); + } + } + + public Usuario SelectedUsuario + { + get + { + return _selectedUsuario; + } + set + { + _selectedUsuario = value; + OnPropertyChanged("SelectedUsuario"); + } + } + + public bool IsAnotacoes + { + get + { + return _isAnotacoes; + } + set + { + _isAnotacoes = value; + OnPropertyChanged("IsAnotacoes"); + } + } + + public event PropertyChangedEventHandler RaisePropertyChanged; + + public DialogTarefaViewModel(Tarefa tarefa, List<TelefoneBase> telefones, bool nota = false, bool agendamento = false) + { + //IL_00ac: Unknown result type (might be due to invalid IL or missing references) + //IL_00b2: Invalid comparison between Unknown and I4 + ShowPublica = nota && tarefa.HabilitarPublica; + Telefones = telefones; + Usuarios = new ObservableCollection<Usuario>((from x in Recursos.Usuarios + where (Recursos.Usuario.IdEmpresa == 1 || x.IdEmpresa == Recursos.Usuario.IdEmpresa) && !x.Excluido + orderby x.Nome + select x).ToList()); + Nota = nota; + if ((int)tarefa.Entidade == 1) + { + tarefa.Anotacoes = tarefa.Descricao; + tarefa.Descricao = string.Empty; + } + if (agendamento) + { + Agendamento = (Visibility)2; + } + if (tarefa.UsuariosVinculados != null) + { + ExtensionMethods.AddRange<Usuario>((ICollection<Usuario>)Responsaveis, (IEnumerable<Usuario>)tarefa.UsuariosVinculados); + } + Responsaveis.ToList().ForEach(delegate(Usuario x) + { + Usuarios.Remove(((IEnumerable<Usuario>)Usuarios).FirstOrDefault((Func<Usuario, bool>)((Usuario u) => ((DomainBase)u).Id == ((DomainBase)x).Id))); + }); + Tarefa = tarefa; + } + + private Action<PropertyChangedEventArgs> OnRaisePropertyChanged() + { + return delegate(PropertyChangedEventArgs args) + { + this.RaisePropertyChanged?.Invoke(this, args); + }; + } + + public void AdcionarResponsavel() + { + if (SelectedUsuario != null && !Responsaveis.Any((Usuario x) => x == SelectedUsuario)) + { + Responsaveis.Add(SelectedUsuario); + Tarefa.UsuariosVinculados = Responsaveis.ToList(); + Usuarios.Remove(SelectedUsuario); + SelectedUsuario = null; + } + } + + public void RemoverResponsavel(Usuario selectedUsuario) + { + if (selectedUsuario != null) + { + Responsaveis.Remove(selectedUsuario); + Tarefa.UsuariosVinculados = Responsaveis.ToList(); + Usuarios.Add(selectedUsuario); + selectedUsuario = null; + } + } +} |