using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using Gestor.Application.Drawers; using Gestor.Application.Helpers; using Gestor.Application.Servicos.Generic; using Gestor.Application.Servicos.Seguros; using Gestor.Application.Servicos.Seguros.Itens; using Gestor.Application.ViewModels.Generic; using Gestor.Application.Views.Ferramentas; using Gestor.Application.Views.Generic; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.Configuracoes; using Gestor.Model.Domain.Ferramentas; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.MalaDireta; using Gestor.Model.Domain.Seguros; namespace Gestor.Application.ViewModels.Seguros; public class SinistroViewModel : BaseSegurosViewModel { private readonly SinistroServico _servico; private readonly ItemServico _itemServico; private readonly Documento _documentoSelecionado; private readonly ClienteServico _clienteServico; private bool _editarObservacao = Recursos.Configuracoes.Any((ConfiguracaoSistema x) => (int)x.Configuracao == 49); private bool _isAnotacoes = true; private List _tipoPerdaAuto = new List { (TipoPerda)1, (TipoPerda)2, (TipoPerda)4, (TipoPerda)3, (TipoPerda)8 }; private List _tipoPerdaVida = new List { (TipoPerda)5, (TipoPerda)6, (TipoPerda)7, (TipoPerda)8 }; private Credencial _selectedCredencial = new Credencial(); private List _credenciais = new List(); private ObservableCollection _itens = new ObservableCollection(); private ObservableCollection _itensFiltrados = new ObservableCollection(); private ObservableCollection _parceiros = new ObservableCollection(GerarParceiros()); private bool _habilitarImprimirHistorico; private bool _habilitarEnviarHistorico; private Visibility _isVisibleImprimirHistorico; private Visibility _isVisibleIncluir; private Visibility _isVisibleTerceiro = (Visibility)2; private Visibility _visibilityAuto = (Visibility)2; private Visibility _visibilityVida = (Visibility)2; private Visibility _liquidacaoVisibility; private bool _isReadOnlyItem = true; private bool _tipoSinistroEnabled; private Item _selectedItem = new Item(); private bool _mostrarLista; private bool _isExpandedItem = true; private bool _isExpandedSinistro = true; private List _controles = new List(); private ObservableCollection _controlesFiltrados = new ObservableCollection(); private ControleSinistro _selectedControle = new ControleSinistro(); private Sinistro _selectedSinistro; private string _codigoSinistro; private string _anotacoes; private string _anotacoesInternas; private string _telefonesMecanica; private string _telefonesFunileiro; public int FiltroItens { get; set; } public Item ItemSelecionado { get; set; } public bool EditarObservacao { get { return _editarObservacao; } set { _editarObservacao = value; OnPropertyChanged("EditarObservacao"); } } public bool IsAnotacoes { get { return _isAnotacoes; } set { _isAnotacoes = value; OnPropertyChanged("IsAnotacoes"); } } private bool Carregando { get; set; } public List TipoPerdaAuto { get { return _tipoPerdaAuto; } set { _tipoPerdaAuto = value; OnPropertyChanged("TipoPerdaAuto"); } } public List TipoPerdaVida { get { return _tipoPerdaVida; } set { _tipoPerdaVida = value; OnPropertyChanged("TipoPerdaVida"); } } public Credencial SelectedCredencial { get { return _selectedCredencial; } set { _selectedCredencial = value; OnPropertyChanged("SelectedCredencial"); } } public List Credenciais { get { return _credenciais; } set { _credenciais = value; OnPropertyChanged("Credenciais"); } } public ObservableCollection Itens { get { return _itens; } set { _itens = value; OnPropertyChanged("Itens"); } } public ObservableCollection ItensFiltrados { get { return _itensFiltrados; } set { _itensFiltrados = value; IsExpandedItem = value != null && value.Count > 0; OnPropertyChanged("ItensFiltrados"); } } public ObservableCollection Parceiros { get { return _parceiros; } set { _parceiros = value; OnPropertyChanged("Parceiros"); } } public bool HabilitarImprimirHistorico { get { return _habilitarImprimirHistorico; } set { _habilitarImprimirHistorico = value; OnPropertyChanged("HabilitarImprimirHistorico"); } } public bool HabilitarEnviarHistorico { get { return _habilitarEnviarHistorico; } set { _habilitarEnviarHistorico = value; OnPropertyChanged("HabilitarEnviarHistorico"); } } public Visibility IsVisibleImprimirHistorico { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _isVisibleImprimirHistorico; } 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) _isVisibleImprimirHistorico = value; OnPropertyChanged("IsVisibleImprimirHistorico"); } } public Visibility IsVisibleIncluir { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _isVisibleIncluir; } 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) _isVisibleIncluir = value; OnPropertyChanged("IsVisibleIncluir"); } } public Visibility IsVisibleTerceiro { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _isVisibleTerceiro; } 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) _isVisibleTerceiro = value; OnPropertyChanged("IsVisibleTerceiro"); } } public Visibility VisibilityAuto { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _visibilityAuto; } 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) _visibilityAuto = value; OnPropertyChanged("VisibilityAuto"); } } public Visibility VisibilityVida { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _visibilityVida; } 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) _visibilityVida = value; OnPropertyChanged("VisibilityVida"); } } public Visibility LiquidacaoVisibility { get { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return _liquidacaoVisibility; } 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) _liquidacaoVisibility = value; OnPropertyChanged("LiquidacaoVisibility"); } } public bool IsReadOnlyItem { get { return _isReadOnlyItem; } set { _isReadOnlyItem = value; OnPropertyChanged("IsReadOnlyItem"); } } public bool TipoSinistroEnabled { get { return _tipoSinistroEnabled; } set { _tipoSinistroEnabled = value; OnPropertyChanged("TipoSinistroEnabled"); } } public Item SelectedItem { get { return _selectedItem; } set { _selectedItem = value; VerificarEnables((value != null) ? new long?(((DomainBase)value).Id) : null); OnPropertyChanged("SelectedItem"); } } public bool MostrarLista { get { return _mostrarLista; } set { _mostrarLista = value; OnPropertyChanged("MostrarLista"); } } public bool IsExpandedItem { get { return _isExpandedItem; } set { _isExpandedItem = value; OnPropertyChanged("IsExpandedItem"); } } public bool IsExpandedSinistro { get { return _isExpandedSinistro; } set { _isExpandedSinistro = value; OnPropertyChanged("IsExpandedSinistro"); } } public List Controles { get { return _controles; } set { _controles = value; base.EnableIncluir = value == null || value.Count == 0; OnPropertyChanged("Controles"); } } public ObservableCollection ControlesFiltrados { get { return _controlesFiltrados; } set { _controlesFiltrados = value; IsExpandedSinistro = value != null && value.Count > 0; OnPropertyChanged("ControlesFiltrados"); } } public ControleSinistro SelectedControle { get { return _selectedControle; } set { _selectedControle = value; if (value != null) { base.EnableButtons = ((DomainBase)value).Id > 0; base.EnableIncluir = ((DomainBase)value).Id > 0; IsVisibleTerceiro = (Visibility)((value.Sinistros == null || (value.Sinistros != null && value.Sinistros.Count < 2)) ? 2 : 0); IsVisibleIncluir = (Visibility)((value.Sinistros != null && value.Sinistros.Any()) ? 2 : 0); int mostrarLista; if (!MostrarLista) { List controles = Controles; mostrarLista = ((controles != null && controles.Count > 1) ? 1 : 0); } else { mostrarLista = 1; } MostrarLista = (byte)mostrarLista != 0; } OnPropertyChanged("SelectedControle"); } } public Sinistro SelectedSinistro { get { return _selectedSinistro; } set { //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Invalid comparison between Unknown and I4 _selectedSinistro = value; Anotacoes = string.Empty; AnotacoesInternas = string.Empty; HabilitarImprimirHistorico = value != null; HabilitarEnviarHistorico = value != null; CodigoSinistro = ((SelectedSinistro == null || ((DomainBase)SelectedSinistro).Id == 0L) ? "" : $"CÓDIGO SINISTRO {((DomainBase)SelectedSinistro).Id}"); if (value != null && ((DomainBase)value).Id != 0L && (LastAccessId != ((DomainBase)value).Id || (int)LastAccessTela != 7)) { RegistrarAcao($"ACESSOU SINISTRO DE ID \"{((DomainBase)value).Id}\"", ((DomainBase)value).Id, (TipoTela)7, $"ID ITEM: {((DomainBase)value.ControleSinistro.Item).Id}\nID DOCUMENTO: {((DomainBase)value.ControleSinistro.Item.Documento).Id}\nRAMO: {value.ControleSinistro.Item.Documento.Controle.Ramo.Nome}\nCLIENTE: {value.ControleSinistro.Item.Documento.Controle.Cliente.Nome}\nID CLIENTE: {((DomainBase)value.ControleSinistro.Item.Documento.Controle.Cliente).Id}\nDESCRIÇÃO: \"{value.Descricao}\""); LastAccessId = ((DomainBase)value).Id; LastAccessTela = (TipoTela)7; } VerificarEnables((value != null) ? new long?(((DomainBase)value).Id) : null); OnPropertyChanged("SelectedSinistro"); } } public string CodigoSinistro { get { return _codigoSinistro; } set { _codigoSinistro = value; OnPropertyChanged("CodigoSinistro"); } } public new string Anotacoes { get { return _anotacoes; } set { _anotacoes = value; OnPropertyChanged("Anotacoes"); } } public string AnotacoesInternas { get { return _anotacoesInternas; } set { _anotacoesInternas = value; OnPropertyChanged("AnotacoesInternas"); } } public string TelefonesMecanica { get { return _telefonesMecanica; } set { _telefonesMecanica = value; OnPropertyChanged("TelefonesMecanica"); } } public string TelefonesFunileiro { get { return _telefonesFunileiro; } set { _telefonesFunileiro = value; OnPropertyChanged("TelefonesFunileiro"); } } public SinistroViewModel(Item item, bool attached) { //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Expected O, but got Unknown //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Expected O, but got Unknown //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Expected O, but got Unknown _servico = new SinistroServico(); _itemServico = new ItemServico(); _clienteServico = new ClienteServico(); _documentoSelecionado = (attached ? ConsultaViewModel.DocumentoSelecionado : item.Documento); FiltroItens = ConsultaViewModel.FiltrarItens; ItemSelecionado = ConsultaViewModel.ItemSelecionado; if (!attached) { FiltroItens = 4; ItemSelecionado = item; } if (((item != null) ? item.Documento : null) != null) { Documento documentoSelecionado = ConsultaViewModel.DocumentoSelecionado; if (((documentoSelecionado != null) ? documentoSelecionado.VendedorPrincipal : null) != null) { item.Documento.VendedorPrincipal = ConsultaViewModel.DocumentoSelecionado.VendedorPrincipal; } } Seleciona(item); } public async void SelecionaItem(Item item) { if (Carregando) { return; } SelectedItem = item; if (SelectedItem == null || Carregando) { return; } if (((DomainBase)item).Id != ((DomainBase)SelectedItem).Id) { SelectedItem = ((IEnumerable)ItensFiltrados).FirstOrDefault((Func)((Item x) => ((DomainBase)x).Id == ((DomainBase)item).Id)); } await SelecionaControles(item); } public void SelecionaControle(ControleSinistro controle) { if (Carregando) { return; } SelectedControle = controle; ControleSinistro selectedControle = SelectedControle; ControleSinistro selectedControle2 = SelectedControle; selectedControle.Sinistros = ((selectedControle2 == null) ? null : selectedControle2.Sinistros?.OrderBy((Sinistro x) => ((DomainBase)x).Id).ToList()); if (Carregando) { return; } if (((DomainBase)controle).Id != ((DomainBase)SelectedControle).Id) { SelectedControle = controle; } ControleSinistro selectedControle3 = SelectedControle; if (((selectedControle3 != null) ? selectedControle3.Sinistros : null) != null) { TipoSinistroEnabled = !SelectedControle.Sinistros.Any((Sinistro x) => x.TipoSinistro == (TipoSinistro?)0) || SelectedControle.Sinistros.Count <= 1; } } public void CarregarParceiros() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown List list = new List { new Parceiro { Nome = "NENHUM" } }; list.AddRange(Recursos.Parceiros.OrderBy((Parceiro x) => x.Nome)); Parceiros = new ObservableCollection(list); } private static List GerarParceiros() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown List list = new List(); list.Add(new Parceiro { Nome = "NENHUM" }); list.AddRange(Recursos.Parceiros.OrderBy((Parceiro x) => x.Nome)); return list; } public async Task IncluirSinistro() { if (SelectedItem == null) { await ShowMessage("NECESSÁRIO INCLUIR O ITEM ANTES DE INCLUIR UM SINISTRO."); return; } DateTime now = Funcoes.GetNetworkTime(); ControleSinistro controle = new ControleSinistro { DataSinistro = now, Item = SelectedItem }; Cobertura val = ((IEnumerable)(await _itemServico.BuscarCoberturasPorItemAsync(((DomainBase)SelectedItem).Id))).FirstOrDefault((Func)((Cobertura x) => x.CoberturaPadrao != null && ((DomainBase)x.CoberturaPadrao).Id == 1)); Sinistro val2 = new Sinistro { ControleSinistro = controle, TipoSinistro = (TipoSinistro)0, Ativo = true, DataReclamacao = now, StatusSinistro = (StatusSinistro)1, ItemSinistrado = SelectedItem.Descricao, ValorFranquia = ((val != null) ? val.Franquia : 0m) }; long id = ((DomainBase)_documentoSelecionado.Controle.Ramo).Id; long num = id - 5; if ((ulong)num <= 5uL) { switch (num) { case 0L: goto IL_0215; case 1L: case 2L: case 4L: case 5L: goto IL_022e; case 3L: goto IL_0239; } } if (id == 37) { goto IL_0215; } if (id == 53) { goto IL_022e; } goto IL_0239; IL_0215: val2.SinistroAuto = new SinistroAuto { Culpado = false }; goto IL_0239; IL_0239: IsReadOnlyItem = true; SelectedControle = controle; SelectedSinistro = val2; Alterar(alterar: true); return; IL_022e: val2.SinistroVida = new SinistroVida(); goto IL_0239; } public async void IncluirEnvolvido() { Sinistro sinistro = new Sinistro { ControleSinistro = SelectedControle, TipoSinistro = (TipoSinistro)1, Ativo = true, StatusSinistro = (StatusSinistro)1 }; long id = ((DomainBase)_documentoSelecionado.Controle.Ramo).Id; long num = id - 5; if ((ulong)num <= 5uL) { switch (num) { case 0L: goto IL_0098; case 1L: case 2L: case 4L: case 5L: goto IL_00aa; case 3L: goto IL_011e; } } if (id == 37) { goto IL_0098; } if (id == 53) { goto IL_00aa; } goto IL_011e; IL_00aa: sinistro.SinistroVida = new SinistroVida(); goto IL_011e; IL_011e: if (await ShowMessage("VOCÊ DESEJA COPIAR OS DADOS DO SINISTRADO PARA O TERCEIRO?", "SIM", "NÃO")) { sinistro.ItemSinistrado = SelectedItem.Descricao; sinistro.Descricao = SelectedSinistro.Descricao; sinistro.DataReclamacao = SelectedSinistro.DataReclamacao; if (sinistro.SinistroAuto != null) { if (SelectedSinistro.SinistroAuto == null) { SelectedSinistro.SinistroAuto = new SinistroAuto(); } sinistro.SinistroAuto.Endereco = SelectedSinistro.SinistroAuto.Endereco; } } else { sinistro.DataReclamacao = Funcoes.GetNetworkTime(); } IsReadOnlyItem = false; SelectedSinistro = sinistro; Alterar(alterar: true); return; IL_0098: sinistro.SinistroAuto = new SinistroAuto(); goto IL_011e; } internal void ImprimirHistorico() { Vendedor vendedorPrincipal = _documentoSelecionado.VendedorPrincipal; string value = GerarHtmlSinistro((vendedorPrincipal != null) ? vendedorPrincipal.Nome : null); string tempPath = Path.GetTempPath(); string text = $"{tempPath}{(object)(TipoTela)7}_{Funcoes.GetNetworkTime():ddMMyyyyhhmmss}.html"; StreamWriter streamWriter = new StreamWriter(text, append: true, Encoding.UTF8); streamWriter.Write(value); streamWriter.Close(); Process.Start(text); } public string GerarHtmlSinistro(string vendedorPrincipal = "") { string text = " HISTÓRICO DO SINISTRO
"; string text2 = ""; foreach (Sinistro item in SelectedControle.Sinistros.OrderBy((Sinistro x) => x.TipoSinistro)) { text += "

"; text2 = (string.IsNullOrEmpty(text2) ? "CLIENTE" : ("TERCEIRO Nº " + item.Numero)); text = text + text2 + "

"; text += "
"; int num = 0; if (text2 == "CLIENTE") { text = text + ""; num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; num = 0; string text3 = ((!(item.ControleSinistro.Item.Documento.Vigencia2.GetValueOrDefault().ToString(new CultureInfo("pt-BR")) != "01/01/0001 00:00:00")) ? "NÃO POSSUI" : item.ControleSinistro.Item.Documento.Vigencia2?.ToShortDateString()); text = text + ""; num = 1; vendedorPrincipal = ((item.ControleSinistro.Item.Documento.VendedorPrincipal == null) ? vendedorPrincipal : item.ControleSinistro.Item.Documento.VendedorPrincipal.Nome); text = text + ""; num = 0; text = text + ""; } num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; text += "
CLIENTE: " + item.ControleSinistro.Item.Documento.Controle.Cliente.Nome + "
DOCUMENTO DO SEGURADO: " + item.ControleSinistro.Item.Documento.Controle.Cliente.Documento + "
APÓLICE: " + item.ControleSinistro.Item.Documento.Apolice + "
VIGÊNCIA INICIAL: " + item.ControleSinistro.Item.Documento.Vigencia1.ToShortDateString() + "
VIGÊNCIA FINAL: " + text3 + "
VENDEDOR PRINCIPAL: " + vendedorPrincipal + "
SEGURADORA: " + item.ControleSinistro.Item.Documento.Controle.Seguradora.Nome + "
NÚMERO SINISTRO: " + item.Numero + "
DATA DO SINISTRO: " + item.ControleSinistro.DataSinistro?.ToShortDateString() + "
HORA DO SINISTRO: " + item.ControleSinistro.HoraSinistro?.ToShortTimeString() + "
DATA/HORA ABERTURA: " + item.DataReclamacao.ToString() + "
DATA LIQUIDAÇÃO: " + item.DataLiquidacao.ToString() + "
DESCRIÇÃO DO BEM SINISTRADO: " + item.ItemSinistrado + "
VALOR ORÇADO: " + item.ValorOrcado.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)) + "
VALOR LIBERADO: " + item.ValorLiberado.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)) + "
VALOR PAGO: " + item.ValorPago.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)) + "
VALOR FRANQUIA: " + item.ValorFranquia.ToString("C", new CultureInfo("pt-BR", useUserOverride: false)) + "
SITUAÇÃO: " + ValidationHelper.GetDescription((Enum)(object)item.StatusSinistro) + "
"; string text4; object obj; if (item.SinistroAuto != null) { text += "
"; num = 0; text = text + ""; num = 1; text = text + ""; num = 0; text4 = text; if (""; goto IL_08f0; } } obj = "NÃO"; goto IL_08f0; } goto IL_14d5; IL_14d5: if (item.SinistroVida != null) { text += "
NÚMERO B.O.: " + item.SinistroAuto.NumeroBo + "
TIPO PERDA: " + ValidationHelper.GetDescription((Enum)(object)item.SinistroAuto.TipoPerda) + "
CONSIDERA-SE CULPADO? " + item.SinistroAuto.Culpado != null) { SinistroAuto sinistroAuto = item.SinistroAuto; if (sinistroAuto == null || sinistroAuto.Culpado != false) { obj = "SIM
"; num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; num = 0; text = text + ""; num = 1; text = text + ""; text += "
TIPO PERDA: " + ValidationHelper.GetDescription((Enum)(object)item.SinistroVida.TipoPerda) + "
AUXÍLIO FUNERAL: " + ((item.SinistroVida.AuxFuneral.HasValue && item.SinistroVida.AuxFuneral.Value) ? "SIM" : "NÃO") + "
ESTADO CIVIL: " + ValidationHelper.GetDescription((Enum)(object)item.SinistroVida.EstadoCivil) + "
CERTIDÃO DE ÓBITO: " + item.SinistroVida.CertObito + "
BENEFICIÁRIO: " + item.SinistroVida.Beneficiario + "
"; } if (!string.IsNullOrWhiteSpace(item.Descricao)) { text += "
"; text += "

DESCRIÇÃO

"; text += "
"; text = text + "
" + item.Descricao + "
"; } if (!string.IsNullOrWhiteSpace(item.Observacao)) { text += "
"; text += "

HISTÓRICO

"; text += "
"; text = text + "
" + item.Observacao.Replace("", "").Replace("", "") + "
"; } continue; IL_08f0: text = text4 + (string?)obj; num = 1; text = text + "ÚLTIMO DOC. ENVIADO: " + $"{item.SinistroAuto.UltimoDocEnviado:dd/MM/yyyy}" + ""; num = 0; text = text + "ENDEREÇO: " + item.SinistroAuto.Endereco + ""; num = 1; text = text + "ENVOLVIDO/PROPRIETÁRIO: " + item.SinistroAuto.Envolvido + ""; num = 0; text = text + "MOTORISTA: " + item.SinistroAuto.Motorista + ""; num = 1; text = text + "TELEFONE: (" + item.SinistroAuto.Ddd + ") " + item.SinistroAuto.Telefone + ""; num = 0; text = text + "E-MAIL: " + item.SinistroAuto.Email + ""; text += "
"; text += "
"; num = 1; string text5 = ((item.SinistroAuto.ParceiroMecanica != null) ? item.SinistroAuto.ParceiroMecanica.Nome : ""); text = text + ""; num = 0; string text6 = ((item.SinistroAuto.ParceiroMecanica == null || (string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Ddd1) && string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Telefone1))) ? "" : ("(" + item.SinistroAuto.ParceiroMecanica.Ddd1 + ") " + item.SinistroAuto.ParceiroMecanica.Telefone1)); string text7 = ((item.SinistroAuto.ParceiroMecanica == null || (string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Ddd2) && string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Telefone2))) ? "" : (" / (" + item.SinistroAuto.ParceiroMecanica.Ddd2 + ") " + item.SinistroAuto.ParceiroMecanica.Telefone2)); string text8 = ((item.SinistroAuto.ParceiroMecanica == null || (string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Ddd3) && string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Telefone3))) ? "" : (" / (" + item.SinistroAuto.ParceiroMecanica.Ddd3 + ") " + item.SinistroAuto.ParceiroMecanica.Telefone3)); text = text + ""; num = 1; string text9 = ((item.SinistroAuto.ParceiroMecanica == null) ? "" : item.SinistroAuto.ParceiroMecanica.Email); text = text + ""; num = 0; string text10 = ((item.SinistroAuto.ParceiroMecanica == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Endereco)) ? "" : (item.SinistroAuto.ParceiroMecanica.Endereco ?? "")); string text11 = ((item.SinistroAuto.ParceiroMecanica == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Numero)) ? "" : (", " + item.SinistroAuto.ParceiroMecanica.Numero)); string text12 = ((item.SinistroAuto.ParceiroMecanica == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Complemento)) ? "" : (", " + item.SinistroAuto.ParceiroMecanica.Complemento)); string text13 = ((item.SinistroAuto.ParceiroMecanica == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Bairro)) ? "" : (", " + item.SinistroAuto.ParceiroMecanica.Bairro)); string text14 = ((item.SinistroAuto.ParceiroMecanica == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Cidade)) ? "" : (" - " + item.SinistroAuto.ParceiroMecanica.Cidade)); string text15 = ((item.SinistroAuto.ParceiroMecanica == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Uf)) ? "" : (" - " + item.SinistroAuto.ParceiroMecanica.Uf)); string text16 = ((item.SinistroAuto.ParceiroMecanica == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroMecanica.Cep)) ? "" : (" - " + item.SinistroAuto.ParceiroMecanica.Cep)); text = text + ""; text += "
PARCEIRO MECÂNICA: " + text5 + "
CONTATOS: " + text6 + text7 + text8 + "
EMAIL: " + text9 + "
ENDEREÇO: " + text10 + text11 + text12 + text13 + text14 + text15 + text16 + "
"; text += "
"; num = 1; text5 = ((item.SinistroAuto.ParceiroFunilaria != null) ? item.SinistroAuto.ParceiroFunilaria.Nome : ""); text = text + ""; num = 0; text6 = ((item.SinistroAuto.ParceiroFunilaria == null || (string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Ddd1) && string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Telefone1))) ? "" : ("(" + item.SinistroAuto.ParceiroFunilaria.Ddd1 + ") " + item.SinistroAuto.ParceiroFunilaria.Telefone1)); text7 = ((item.SinistroAuto.ParceiroFunilaria == null || (string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Ddd2) && string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Telefone2))) ? "" : (" / (" + item.SinistroAuto.ParceiroFunilaria.Ddd2 + ") " + item.SinistroAuto.ParceiroFunilaria.Telefone2)); text8 = ((item.SinistroAuto.ParceiroFunilaria == null || (string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Ddd3) && string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Telefone3))) ? "" : (" / (" + item.SinistroAuto.ParceiroFunilaria.Ddd3 + ") " + item.SinistroAuto.ParceiroFunilaria.Telefone3)); text = text + ""; num = 1; text9 = ((item.SinistroAuto.ParceiroFunilaria == null) ? "" : item.SinistroAuto.ParceiroFunilaria.Email); text = text + ""; num = 0; text10 = ((item.SinistroAuto.ParceiroFunilaria == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Endereco)) ? "" : (item.SinistroAuto.ParceiroFunilaria.Endereco ?? "")); text11 = ((item.SinistroAuto.ParceiroFunilaria == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Numero)) ? "" : (", " + item.SinistroAuto.ParceiroFunilaria.Numero)); text12 = ((item.SinistroAuto.ParceiroFunilaria == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Complemento)) ? "" : (", " + item.SinistroAuto.ParceiroFunilaria.Complemento)); text13 = ((item.SinistroAuto.ParceiroFunilaria == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Bairro)) ? "" : (", " + item.SinistroAuto.ParceiroFunilaria.Bairro)); text14 = ((item.SinistroAuto.ParceiroFunilaria == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Cidade)) ? "" : (" - " + item.SinistroAuto.ParceiroFunilaria.Cidade)); text15 = ((item.SinistroAuto.ParceiroFunilaria == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Uf)) ? "" : (" - " + item.SinistroAuto.ParceiroFunilaria.Uf)); text16 = ((item.SinistroAuto.ParceiroFunilaria == null || string.IsNullOrEmpty(item.SinistroAuto.ParceiroFunilaria.Cep)) ? "" : (" - " + item.SinistroAuto.ParceiroFunilaria.Cep)); text = text + ""; text += "
PARCEIRO FUNILARIA: " + text5 + "
CONTATOS: " + text6 + text7 + text8 + "
EMAIL: " + text9 + "
ENDEREÇO: " + text10 + text11 + text12 + text13 + text14 + text15 + text16 + "
"; goto IL_14d5; } return text + ""; } public async void CancelarAlteracao() { Loading(isLoading: true); ControleSinistro selectedControle = SelectedControle; long controle = ((selectedControle != null) ? ((DomainBase)selectedControle).Id : 0); Sinistro selectedSinistro = SelectedSinistro; long sinistro = ((selectedSinistro != null) ? ((DomainBase)selectedSinistro).Id : 0); await CarregarControles(SelectedItem); Anotacoes = string.Empty; AnotacoesInternas = string.Empty; SelectedControle = ((IEnumerable)ControlesFiltrados).FirstOrDefault((Func)((ControleSinistro x) => ((DomainBase)x).Id == controle)) ?? ControlesFiltrados.FirstOrDefault(); SinistroViewModel sinistroViewModel = this; object obj; if (SelectedControle == null) { obj = null; } else { ControleSinistro selectedControle2 = SelectedControle; obj = ((selectedControle2 == null) ? null : selectedControle2.Sinistros?.FirstOrDefault((Func)((Sinistro x) => ((DomainBase)x).Id == sinistro))); if (obj == null) { ControleSinistro selectedControle3 = SelectedControle; obj = ((selectedControle3 == null) ? null : selectedControle3.Sinistros?.FirstOrDefault()); } } sinistroViewModel.SelectedSinistro = (Sinistro)obj; Alterar(alterar: false); SinistroViewModel sinistroViewModel2 = this; Sinistro selectedSinistro2 = SelectedSinistro; sinistroViewModel2.VerificarEnables((selectedSinistro2 != null) ? new long?(((DomainBase)selectedSinistro2).Id) : null); Loading(isLoading: false); } public async void Excluir() { if (SelectedSinistro == null || ((DomainBase)SelectedSinistro).Id == 0L || !(await ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO"))) { return; } Loading(isLoading: true); RegistrarAcao($"EXCLUIU SINISTRO DE ID \"{((DomainBase)SelectedSinistro).Id}\"", ((DomainBase)SelectedSinistro).Id, (TipoTela)7, $"ID ITEM: {((DomainBase)SelectedSinistro.ControleSinistro.Item).Id}\nID DOCUMENTO: {((DomainBase)SelectedSinistro.ControleSinistro.Item.Documento).Id}\nRAMO: {SelectedSinistro.ControleSinistro.Item.Documento.Controle.Ramo.Nome}\nCLIENTE: {SelectedSinistro.ControleSinistro.Item.Documento.Controle.Cliente.Nome}\nID CLIENTE: {((DomainBase)SelectedSinistro.ControleSinistro.Item.Documento.Controle.Cliente).Id}\nDESCRIÇÃO: {((DomainBase)SelectedSinistro).Id}"); if (SelectedControle.Sinistros.Count == 1) { List controles = Controles; controles.Remove(SelectedControle); if (!(await _servico.DeleteControle(SelectedControle, controles == null || controles.Count == 0))) { return; } int num = ControlesFiltrados.IndexOf(SelectedControle); Controles.Remove(SelectedControle); ControlesFiltrados.Remove(SelectedControle); ControlesFiltrados = new ObservableCollection(ControlesFiltrados); if (ControlesFiltrados.Count > 0) { SelectedControle = ((num < ControlesFiltrados.Count) ? ControlesFiltrados.ElementAt(((num == 0) ? 1 : num) - 1) : ControlesFiltrados.Last()); } else { SelectedControle = new ControleSinistro(); Alterar(alterar: false); base.EnableMenu = false; } SinistroViewModel sinistroViewModel = this; ControleSinistro selectedControle = SelectedControle; sinistroViewModel.SelectedSinistro = ((selectedControle == null) ? null : selectedControle.Sinistros?.FirstOrDefault()); } else { if (!(await _servico.Delete(SelectedSinistro))) { return; } int num2 = SelectedControle.Sinistros.IndexOf(SelectedSinistro); SelectedControle.Sinistros.Remove(SelectedSinistro); long id = ((DomainBase)SelectedControle).Id; SelectedControle = null; SelectedControle = ControlesFiltrados.First((ControleSinistro x) => ((DomainBase)x).Id == id); SelectedSinistro = ((num2 < SelectedControle.Sinistros.Count) ? SelectedControle.Sinistros.ElementAt(num2) : SelectedControle.Sinistros.Last()); } if (Controles == null || Controles.Count == 0) { ItemServico itemServico = new ItemServico(); Item val = await itemServico.BuscarItemPorIdAsync(((DomainBase)SelectedItem).Id); val.Sinistrado = false; await itemServico.Save(val); } if (ItensFiltrados.Count > 0 && ItensFiltrados != null) { Item obj = ItensFiltrados.First((Item x) => ((DomainBase)x).Id == ((DomainBase)SelectedItem).Id); ControleSinistro selectedControle2 = SelectedControle; obj.Sinistrado = selectedControle2 != null && selectedControle2.Sinistros?.Count > 0; } ItensFiltrados = new ObservableCollection(ItensFiltrados); Loading(isLoading: false); ToggleSnackBar("SINISTRO EXCLUÍDO COM SUCESSO"); } public async Task>> Salvar() { List> list = SelectedSinistro.Validate(); if (list.Count > 0) { return list; } Sinistro sinistro = SelectedSinistro; if (sinistro.SinistroAuto != null) { Parceiro parceiroFunilaria = sinistro.SinistroAuto.ParceiroFunilaria; if (parceiroFunilaria != null && ((DomainBase)parceiroFunilaria).Id == 0) { sinistro.SinistroAuto.ParceiroFunilaria = null; } Parceiro parceiroMecanica = sinistro.SinistroAuto.ParceiroMecanica; if (parceiroMecanica != null && ((DomainBase)parceiroMecanica).Id == 0) { sinistro.SinistroAuto.ParceiroMecanica = null; } } DateTime networkTime = Funcoes.GetNetworkTime(); if (!string.IsNullOrWhiteSpace(Anotacoes) && !Anotacoes.IsEmpty()) { sinistro.Observacao = $"

{Recursos.Usuario.Nome}, ID: {((DomainBase)Recursos.Usuario).Id}, {networkTime:g}
{Anotacoes}



{sinistro.Observacao}"; } if (!string.IsNullOrWhiteSpace(AnotacoesInternas) && !AnotacoesInternas.IsEmpty()) { sinistro.ObservacaoInterna = $"

{Recursos.Usuario.Nome}, ID: {((DomainBase)Recursos.Usuario).Id}, {networkTime:g}
{AnotacoesInternas}



{sinistro.ObservacaoInterna}"; } if (((DomainBase)sinistro).Id == 0L) { sinistro.DataCriacao = DateTime.Now; sinistro.IdUsuarioCriacao = ((DomainBase)Recursos.Usuario).Id; } else { sinistro.DataAlteracao = DateTime.Now; sinistro.IdUsuarioAlteracao = ((DomainBase)Recursos.Usuario).Id; } string acao = ((((DomainBase)sinistro).Id == 0L) ? "INCLUIU" : "ALTEROU"); sinistro = await _servico.Save(sinistro, ((DomainBase)_documentoSelecionado.Controle.Ramo).Id); if (!_servico.Sucesso) { return null; } await CarregarControles(sinistro.ControleSinistro.Item); SelectedControle = ControlesFiltrados.First((ControleSinistro x) => ((DomainBase)x).Id == ((DomainBase)sinistro.ControleSinistro).Id); SelectedSinistro = SelectedControle.Sinistros.First((Sinistro x) => ((DomainBase)x).Id == ((DomainBase)sinistro).Id); Recursos.Parceiros = Parceiros.ToList(); Alterar(alterar: false); ToggleSnackBar("SINISTRO SALVO COM SUCESSO"); RegistrarAcao($"{acao} SINISTRO DE ID \"{((DomainBase)sinistro).Id}\"", ((DomainBase)sinistro).Id, (TipoTela)7, $"ID ITEM: {((DomainBase)sinistro.ControleSinistro.Item).Id}\nID DOCUMENTO: {((DomainBase)sinistro.ControleSinistro.Item.Documento).Id}\nRAMO: {sinistro.ControleSinistro.Item.Documento.Controle.Ramo.Nome}\nCLIENTE: {sinistro.ControleSinistro.Item.Documento.Controle.Cliente.Nome}\nID CLIENTE: {((DomainBase)sinistro.ControleSinistro.Item.Documento.Controle.Cliente).Id}\nDESCRIÇÃO: \"{sinistro.Descricao}\""); return null; } public async void Seleciona(Item item) { Loading(isLoading: true); await PermissaoTela((TipoTela)7); SelectedItem = ItemSelecionado; VisibilityAuto = (Visibility)((((DomainBase)_documentoSelecionado.Controle.Ramo).Id != 5) ? 2 : 0); VisibilityVida = (Visibility)((((DomainBase)_documentoSelecionado.Controle.Ramo).Id != 6) ? 2 : 0); if (item == null) { Loading(isLoading: false); return; } await SelecionaControles(item); Loading(isLoading: false); } public async Task SelecionaItens(int type, Item item = null) { Loading(isLoading: true); Carregando = true; switch (type) { default: Itens = await _itemServico.BuscarItens(((DomainBase)_documentoSelecionado.Controle).Id, (StatusItem)0); break; case 1: case 2: Itens = await _itemServico.BuscarItens(((DomainBase)_documentoSelecionado).Id, (StatusItem)2); break; case 3: Itens = await _itemServico.BuscarItens(((DomainBase)_documentoSelecionado.Controle).Id, (StatusItem)1); break; case 4: Itens = await _itemServico.BuscarItens(((DomainBase)_documentoSelecionado.Controle).Id, (StatusItem)3); break; } ItensFiltrados = Itens; if (item != null && ((DomainBase)item).Id > 0) { SelectedItem = ((ItensFiltrados != null && ItensFiltrados.Count > 0) ? ((IEnumerable)ItensFiltrados).FirstOrDefault((Func)((Item x) => ((DomainBase)x).Id == ((DomainBase)item).Id)) : null); } SinistroViewModel sinistroViewModel = this; int mostrarLista; if (!MostrarLista) { ObservableCollection itens = Itens; mostrarLista = ((itens != null && itens.Count > 1) ? 1 : 0); } else { mostrarLista = 1; } sinistroViewModel.MostrarLista = (byte)mostrarLista != 0; Carregando = false; Loading(isLoading: false); } public async Task SelecionaControles(Item item) { Loading(isLoading: true); await CarregarControles(item); if (ControlesFiltrados.Count > 0) { SelectedControle = ControlesFiltrados.FirstOrDefault(); } else { SelectedControle = new ControleSinistro(); Alterar(alterar: false); } SinistroViewModel sinistroViewModel = this; ControleSinistro selectedControle = SelectedControle; sinistroViewModel.SelectedSinistro = ((selectedControle == null) ? null : selectedControle.Sinistros?.FirstOrDefault()); Loading(isLoading: false); } private async Task CarregarControles(Item item) { Controles = (await _servico.BuscarControles(((DomainBase)item).Id)).OrderByDescending((ControleSinistro x) => x.DataSinistro).ToList(); ControlesFiltrados = new ObservableCollection(Controles); } internal async Task> SinistroFiltrar(string value) { return await Task.Run(() => FiltrarSinistro(value)); } public List FiltrarSinistro(string filter) { ControlesFiltrados = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection(Controles) : new ObservableCollection(from x in Controles where ValidationHelper.RemoveDiacritics(x.DataSinistro.ToString().Trim()).Contains(filter) || (x.Sinistros != null && x.Sinistros.Count > 0 && ValidationHelper.RemoveDiacritics(x.Sinistros[0].Numero.Trim()).Contains(filter)) orderby x.DataSinistro select x)); SelectedControle = ((ControlesFiltrados.Count > 0) ? ControlesFiltrados.First() : null); return ControlesFiltrados.ToList(); } internal async Task> ItemFiltrar(string value) { return await Task.Run(() => FiltrarItem(value)); } public List FiltrarItem(string filter) { ItensFiltrados = (string.IsNullOrWhiteSpace(filter) ? Itens : new ObservableCollection(from x in Itens where ValidationHelper.RemoveDiacritics(x.Descricao.Trim()).ToUpper().Contains(ValidationHelper.RemoveDiacritics(filter)) orderby x.Ordem select x)); return ItensFiltrados.ToList(); } public async Task BuscarClienteSinistro() { return await _itemServico.BuscarCliente(((DomainBase)SelectedItem).Id); } public async void EnviarLogEmail() { List list = Credenciais; if (list == null) { list = await new BaseServico().BuscarCredenciais(); } Credenciais = list; SelectedCredencial = ((IEnumerable)Credenciais).FirstOrDefault((Func)((Credencial x) => x.IdUsuario == ((DomainBase)Recursos.Usuario).Id)) ?? Credenciais.FirstOrDefault(); ObservableCollection mails = await _clienteServico.BuscarEmailsAsync(((DomainBase)SelectedSinistro.ControleSinistro.Item.Documento.Controle.Cliente).Id); if (mails.Count == 0) { await ShowMessage("O CLIENTE NÃO POSSUI NENHUM E-MAIL CADASTRADO"); return; } Documento val = await new ApoliceServico().BuscarApoliceAsync(((DomainBase)_documentoSelecionado).Id); SinistroViewModel sinistroViewModel = this; Vendedor vendedorPrincipal = val.VendedorPrincipal; string text = sinistroViewModel.GerarHtmlSinistro((vendedorPrincipal != null) ? vendedorPrincipal.Nome : null); string input = new Regex(".*<\\/title>").Replace(text, " ").Trim(); input = new Regex("(<[^>]*>)|(p\\s?{[^}]*})|(\\r)|(\\n)").Replace(input, " ").Trim(); input = input.Replace("@page{ size: A4;} body; -webkit-print-color-adjust: exact; }", " "); input.Replace("NEW P { MARGIN-BOTTOM: 0; MARGIN-TOP: 0; }", " "); MalaDireta val2 = new MalaDireta { Cliente = val.Controle.Cliente, ArquivoDigital = null, Sinistro = SelectedSinistro, Item = SelectedItem, Apolice = val, Tela = (TipoTela)7 }; ClienteEmail? obj = mails.FirstOrDefault(); val2.Email = ((obj != null) ? ((EmailBase)obj).Email : null); ClienteEmail? obj2 = mails.FirstOrDefault(); val2.Ordem = ((obj2 != null) ? obj2.Ordem : null).GetValueOrDefault(); MalaDireta item = val2; if (Funcoes.IsWindowOpen<HosterWindow>("ENVIO DE E-MAIL")) { Funcoes.Destroy<HosterWindow>("ENVIO DE E-MAIL"); } ((Window)new HosterWindow((ContentControl)(object)new MalaDiretaView(new List<MalaDireta> { item }, "HISTÓRICO DO SINISTRO DO ITEM " + SelectedItem.Descricao, text), "ENVIO DE E-MAIL", 1200.0, 600.0, canMaximize: true)).ShowDialog(); } public void AbrirInfo() { ShowDrawer(new InfoDrawer(_documentoSelecionado), 0, close: false); } }