diff options
Diffstat (limited to 'Gestor.Application/ViewModels/Drawer/AgendaViewModel.cs')
| -rw-r--r-- | Gestor.Application/ViewModels/Drawer/AgendaViewModel.cs | 427 |
1 files changed, 0 insertions, 427 deletions
diff --git a/Gestor.Application/ViewModels/Drawer/AgendaViewModel.cs b/Gestor.Application/ViewModels/Drawer/AgendaViewModel.cs deleted file mode 100644 index 4701416..0000000 --- a/Gestor.Application/ViewModels/Drawer/AgendaViewModel.cs +++ /dev/null @@ -1,427 +0,0 @@ -using Gestor.Application.Servicos.Ferramentas;
-using Gestor.Application.Servicos.Generic;
-using Gestor.Application.ViewModels.Generic;
-using Gestor.Common.Validation;
-using Gestor.Model.Common;
-using Gestor.Model.Domain.Ferramentas;
-using Gestor.Model.Domain.Generic;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Diagnostics;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Threading.Tasks;
-
-namespace Gestor.Application.ViewModels.Drawer
-{
- public class AgendaViewModel : BaseSegurosViewModel
- {
- private readonly AgendaServico _servico;
-
- private Agenda _selectedAgenda;
-
- private ObservableCollection<AgendaTelefone> _telefones = new ObservableCollection<AgendaTelefone>();
-
- private ObservableCollection<AgendaEmail> _emails = new ObservableCollection<AgendaEmail>();
-
- private long _ultimoId;
-
- public Agenda CancelAgenda;
-
- private ObservableCollection<Agenda> _agendasFiltradas = new ObservableCollection<Agenda>();
-
- private bool _carregando;
-
- public List<Agenda> Agendas
- {
- get;
- set;
- }
-
- public ObservableCollection<Agenda> AgendasFiltradas
- {
- get
- {
- return this._agendasFiltradas;
- }
- set
- {
- this._agendasFiltradas = value;
- base.OnPropertyChanged("AgendasFiltradas");
- }
- }
-
- public bool Carregando
- {
- get
- {
- return this._carregando;
- }
- set
- {
- this._carregando = value;
- base.IsEnabled = !value;
- base.EnableMenu = !value;
- base.OnPropertyChanged("Carregando");
- }
- }
-
- public ObservableCollection<AgendaEmail> Emails
- {
- get
- {
- return this._emails;
- }
- set
- {
- this._emails = value;
- base.OnPropertyChanged("Emails");
- }
- }
-
- public Agenda SelectedAgenda
- {
- get
- {
- return this._selectedAgenda;
- }
- set
- {
- long? nullable;
- this._selectedAgenda = value;
- if (value != null)
- {
- nullable = new long?(value.get_Id());
- }
- else
- {
- nullable = null;
- }
- base.VerificarEnables(nullable);
- base.OnPropertyChanged("SelectedAgenda");
- }
- }
-
- public ObservableCollection<AgendaTelefone> Telefones
- {
- get
- {
- return this._telefones;
- }
- set
- {
- this._telefones = value;
- base.OnPropertyChanged("Telefones");
- }
- }
-
- public AgendaViewModel()
- {
- this._servico = new AgendaServico();
- this.Seleciona();
- }
-
- public void CancelarAlteracao()
- {
- this.Carregando = true;
- if (this.SelectedAgenda.get_Id() != 0)
- {
- DomainBase.Copy<Agenda, Agenda>(this.Agendas.First<Agenda>((Agenda x) => x.get_Id() == this.CancelAgenda.get_Id()), this.CancelAgenda);
- if (this.AgendasFiltradas.Count <= 0 || !this.AgendasFiltradas.Any<Agenda>((Agenda x) => x.get_Id() == this.CancelAgenda.get_Id()))
- {
- this.AgendasFiltradas.Add(this.CancelAgenda);
- }
- else
- {
- DomainBase.Copy<Agenda, Agenda>(this.AgendasFiltradas.First<Agenda>((Agenda x) => x.get_Id() == this.CancelAgenda.get_Id()), this.CancelAgenda);
- }
- this.AgendasFiltradas = new ObservableCollection<Agenda>(this.AgendasFiltradas);
- this.SelectedAgenda = this.AgendasFiltradas.First<Agenda>((Agenda x) => x.get_Id() == this.CancelAgenda.get_Id());
- }
- else if (this.AgendasFiltradas.Count <= 0 || !this.AgendasFiltradas.Any<Agenda>((Agenda x) => x.get_Id() == this._ultimoId))
- {
- if (this.Agendas.Count <= 0 || !this.Agendas.Any<Agenda>((Agenda x) => x.get_Id() == this._ultimoId))
- {
- this.SelectedAgenda = new Agenda();
- ObservableCollection<AgendaTelefone> observableCollection = new ObservableCollection<AgendaTelefone>();
- AgendaTelefone agendaTelefone = new AgendaTelefone();
- agendaTelefone.set_Agenda(this.SelectedAgenda);
- agendaTelefone.set_Tipo(new TipoTelefone?(1));
- observableCollection.Add(agendaTelefone);
- this.Telefones = observableCollection;
- ObservableCollection<AgendaEmail> observableCollection1 = new ObservableCollection<AgendaEmail>();
- AgendaEmail agendaEmail = new AgendaEmail();
- agendaEmail.set_Agenda(this.SelectedAgenda);
- observableCollection1.Add(agendaEmail);
- this.Emails = observableCollection1;
- base.Alterar(false);
- this.Carregando = false;
- return;
- }
- this.AgendasFiltradas.Add(this.Agendas.First<Agenda>((Agenda x) => x.get_Id() == this._ultimoId));
- this.SelectedAgenda = this.AgendasFiltradas.First<Agenda>((Agenda x) => x.get_Id() == this._ultimoId);
- }
- else
- {
- this.SelectedAgenda = this.AgendasFiltradas.First<Agenda>((Agenda x) => x.get_Id() == this._ultimoId);
- }
- base.Alterar(false);
- this.Carregando = false;
- }
-
- public async Task<bool> Excluir()
- {
- bool flag;
- if (this.SelectedAgenda == null || this.SelectedAgenda.get_Id() == 0)
- {
- flag = false;
- }
- else if (await base.ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO", false))
- {
- this.Carregando = true;
- if (await this._servico.Delete(this.SelectedAgenda))
- {
- int num = this.AgendasFiltradas.IndexOf(this.SelectedAgenda);
- this.Agendas.Remove(this.SelectedAgenda);
- this.AgendasFiltradas.Remove(this.SelectedAgenda);
- this.AgendasFiltradas = new ObservableCollection<Agenda>(this.AgendasFiltradas);
- if (this.AgendasFiltradas.Count <= 0)
- {
- this.SelectedAgenda = new Agenda();
- this.Telefones = new ObservableCollection<AgendaTelefone>();
- this.Emails = new ObservableCollection<AgendaEmail>();
- base.Alterar(false);
- }
- else if (num >= this.AgendasFiltradas.Count)
- {
- await this.SelecionaAgenda(this.AgendasFiltradas.Last<Agenda>());
- }
- else
- {
- await this.SelecionaAgenda(this.AgendasFiltradas.ElementAt<Agenda>(num));
- }
- this.Carregando = false;
- flag = true;
- }
- else
- {
- base.Alterar(false);
- this.Carregando = false;
- flag = false;
- }
- }
- else
- {
- flag = false;
- }
- return flag;
- }
-
- public void ExcluirEmail(AgendaEmail email)
- {
- this.Emails.Remove(email);
- }
-
- public void ExcluirTelefone(AgendaTelefone telefone)
- {
- this.Telefones.Remove(telefone);
- }
-
- internal async Task<List<Agenda>> Filtrar(string value)
- {
- List<Agenda> agendas = await Task.Run<List<Agenda>>(() => this.FiltrarAgenda(value));
- return agendas;
- }
-
- public List<Agenda> FiltrarAgenda(string filter)
- {
- this.AgendasFiltradas = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection<Agenda>(this.Agendas) : new ObservableCollection<Agenda>(
- from x in this.Agendas
- where ValidationHelper.RemoveDiacritics(x.get_Nome().Trim()).ToUpper().Contains(ValidationHelper.RemoveDiacritics(filter))
- orderby x.get_Nome()
- select x));
- return this.AgendasFiltradas.ToList<Agenda>();
- }
-
- public void Incluir()
- {
- if (this.SelectedAgenda != null)
- {
- this._ultimoId = this.SelectedAgenda.get_Id();
- }
- this.SelectedAgenda = new Agenda();
- ObservableCollection<AgendaTelefone> observableCollection = new ObservableCollection<AgendaTelefone>();
- AgendaTelefone agendaTelefone = new AgendaTelefone();
- agendaTelefone.set_Agenda(this.SelectedAgenda);
- agendaTelefone.set_Tipo(new TipoTelefone?(1));
- observableCollection.Add(agendaTelefone);
- this.Telefones = observableCollection;
- ObservableCollection<AgendaEmail> observableCollection1 = new ObservableCollection<AgendaEmail>();
- AgendaEmail agendaEmail = new AgendaEmail();
- agendaEmail.set_Agenda(this.SelectedAgenda);
- observableCollection1.Add(agendaEmail);
- this.Emails = observableCollection1;
- base.Alterar(true);
- }
-
- public void IncluirEmail()
- {
- if (this.SelectedAgenda == null)
- {
- return;
- }
- if (this.Emails == null)
- {
- this.Emails = new ObservableCollection<AgendaEmail>();
- }
- AgendaEmail agendaEmail = new AgendaEmail();
- agendaEmail.set_Agenda(this.SelectedAgenda);
- this.Emails.Add(agendaEmail);
- base.OnPropertyChanged("IncluirEmail");
- }
-
- public void IncluirTelefone()
- {
- if (this.SelectedAgenda == null)
- {
- return;
- }
- if (this.Telefones == null)
- {
- this.Telefones = new ObservableCollection<AgendaTelefone>();
- }
- AgendaTelefone agendaTelefone = new AgendaTelefone();
- agendaTelefone.set_Agenda(this.SelectedAgenda);
- agendaTelefone.set_Tipo(new TipoTelefone?(1));
- this.Telefones.Add(agendaTelefone);
- base.OnPropertyChanged("IncluirTelefone");
- }
-
- public async Task<List<KeyValuePair<string, string>>> Salvar()
- {
- List<KeyValuePair<string, string>> keyValuePairs;
- int num;
- List<KeyValuePair<string, string>> keyValuePairs1 = this.SelectedAgenda.Validate();
- ObservableCollection<AgendaTelefone> telefones = this.Telefones;
- List<AgendaTelefone> list = (
- from x in telefones
- where !string.IsNullOrEmpty(x.get_Numero())
- select x).ToList<AgendaTelefone>();
- ObservableCollection<AgendaEmail> emails = this.Emails;
- List<AgendaEmail> agendaEmails = (
- from x in emails
- where !string.IsNullOrEmpty(x.get_Email())
- select x).ToList<AgendaEmail>();
- foreach (AgendaTelefone agendaTelefone in list)
- {
- keyValuePairs1.AddRange(agendaTelefone.Validate());
- }
- foreach (AgendaEmail agendaEmail in agendaEmails)
- {
- keyValuePairs1.AddRange(agendaEmail.Validate());
- }
- if (keyValuePairs1.Count <= 0)
- {
- this.SelectedAgenda.set_Telefones(new ObservableCollection<AgendaTelefone>(list));
- this.SelectedAgenda.set_Emails(new ObservableCollection<AgendaEmail>(agendaEmails));
- if (this.SelectedAgenda.get_Id() != 0)
- {
- this.SelectedAgenda = await this._servico.Save(this.SelectedAgenda);
- if (this._servico.Sucesso)
- {
- this.Telefones = new ObservableCollection<AgendaTelefone>(this.SelectedAgenda.get_Telefones());
- this.Emails = new ObservableCollection<AgendaEmail>(this.SelectedAgenda.get_Emails());
- DomainBase.Copy<Agenda, Agenda>(this.Agendas.First<Agenda>((Agenda x) => x.get_Id() == this.SelectedAgenda.get_Id()), this.SelectedAgenda);
- if (this.AgendasFiltradas.Count <= 0 || !this.AgendasFiltradas.Any<Agenda>((Agenda x) => x.get_Id() == this.SelectedAgenda.get_Id()))
- {
- this.AgendasFiltradas.Add(this.SelectedAgenda);
- }
- else
- {
- DomainBase.Copy<Agenda, Agenda>(this.AgendasFiltradas.First<Agenda>((Agenda x) => x.get_Id() == this.SelectedAgenda.get_Id()), this.SelectedAgenda);
- }
- }
- else
- {
- keyValuePairs = null;
- return keyValuePairs;
- }
- }
- else
- {
- this.SelectedAgenda = await this._servico.Save(this.SelectedAgenda);
- if (this._servico.Sucesso)
- {
- this.Telefones = new ObservableCollection<AgendaTelefone>(this.SelectedAgenda.get_Telefones());
- this.Emails = new ObservableCollection<AgendaEmail>(this.SelectedAgenda.get_Emails());
- this.Agendas.Add(this.SelectedAgenda);
- ObservableCollection<Agenda> agendasFiltradas = this.AgendasFiltradas;
- num = (this._ultimoId == 0 ? 0 : this.AgendasFiltradas.IndexOf(this.AgendasFiltradas.First<Agenda>((Agenda x) => x.get_Id() == this._ultimoId)));
- agendasFiltradas.Insert(num, this.SelectedAgenda);
- }
- else
- {
- keyValuePairs = null;
- return keyValuePairs;
- }
- }
- this.AgendasFiltradas = new ObservableCollection<Agenda>(this.AgendasFiltradas);
- this.SelectedAgenda = this.AgendasFiltradas.First<Agenda>((Agenda x) => x.get_Id() == this.SelectedAgenda.get_Id());
- base.Alterar(false);
- keyValuePairs = null;
- }
- else
- {
- keyValuePairs = keyValuePairs1;
- }
- return keyValuePairs;
- }
-
- private async void Seleciona()
- {
- base.Loading(true);
- await base.PermissaoTela(34);
- await this.SelecionaAgendas();
- base.Loading(false);
- }
-
- public async Task SelecionaAgenda(Agenda agenda = null)
- {
- Agenda agenda1;
- this.Carregando = true;
- AgendaViewModel agendaViewModel = this;
- agenda1 = (agenda == null ? this.AgendasFiltradas.FirstOrDefault<Agenda>() : this.AgendasFiltradas.FirstOrDefault<Agenda>((Agenda x) => x.get_Id() == agenda.get_Id()));
- agendaViewModel.SelectedAgenda = agenda1;
- if (this.SelectedAgenda == null)
- {
- this.Emails = null;
- this.Telefones = null;
- }
- else
- {
- this.Emails = await this._servico.BuscarEmailsAsync(this.SelectedAgenda.get_Id());
- this.Telefones = await this._servico.BuscarTelefonesAsync(this.SelectedAgenda.get_Id());
- }
- this.Carregando = false;
- }
-
- private async Task SelecionaAgendas()
- {
- Agenda agenda;
- this.Carregando = true;
- List<Agenda> agendas = await (new BaseServico()).BuscarAgendasAsync();
- AgendaViewModel list = this;
- List<Agenda> agendas1 = agendas;
- list.Agendas = (
- from x in agendas1
- orderby x.get_Nome()
- select x).ToList<Agenda>();
- this.AgendasFiltradas = new ObservableCollection<Agenda>(this.Agendas);
- AgendaViewModel agendaViewModel = this;
- agenda = (this.AgendasFiltradas.Count > 0 ? this.AgendasFiltradas.First<Agenda>() : new Agenda());
- agendaViewModel.SelectedAgenda = agenda;
- this.Carregando = false;
- }
- }
-}
\ No newline at end of file |