using ClosedXML.Excel; using Gestor.Application.Actions; using Gestor.Application.Componentes; using Gestor.Application.Helpers; using Gestor.Application.Servicos.Generic; using Gestor.Application.Servicos.Seguros.Itens; using Gestor.Application.ViewModels; using Gestor.Application.ViewModels.Generic; using Gestor.Application.ViewModels.Seguros; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.Common; using Gestor.Model.Domain.Configuracoes; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Seguros; using Gestor.Model.Helper; using Microsoft.CSharp.RuntimeBinder; using Microsoft.Office.Interop.Excel; using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; using System.Diagnostics; using System.Globalization; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows; using System.Windows.Forms; namespace Gestor.Application.ViewModels.Seguros.Itens { public class AutoViewModel : ItemViewModel, IDisposable { private readonly ItemServico _itemServico; private readonly AutoServico _servico; private bool _allowAlterarExcluir = true; private Visibility _isVisiblePorcentagemReferencia = Visibility.Collapsed; private Visibility _isVisibleValorDeterminado = Visibility.Collapsed; private object _cobertura; private List _combustivel = ((Gestor.Model.Common.Combustivel[])Enum.GetValues(typeof(Gestor.Model.Common.Combustivel))).OrderBy(new Func((Gestor.Model.Common.Combustivel x) => Gestor.Common.Validation.ValidationHelper.GetCategory(x))).ToList(); private Item _selectedItem = new Item(); private List _fabricantes; private Fabricante _selectedFabricante; private string _codigoItem; private Gestor.Model.Common.Categoria? _categocia; private Gestor.Model.Common.UsoVeiculo? _usoVeiculo; public bool AllowAlterarExcluir { get { return this._allowAlterarExcluir; } set { this._allowAlterarExcluir = value; base.OnPropertyChanged("AllowAlterarExcluir"); } } public Gestor.Model.Common.Categoria? Categoria { get { return this._categocia; } set { bool auto; this._categocia = value; Item selectedItem = this.SelectedItem; if (selectedItem != null) { auto = selectedItem.get_Auto(); } else { auto = false; } if (auto) { this.SelectedItem.get_Auto().set_Categoria(value); } base.OnPropertyChanged("Categoria"); } } public object Cobertura { get { return this._cobertura; } set { this._cobertura = value; base.OnPropertyChanged("Cobertura"); } } public string CodigoItem { get { return this._codigoItem; } set { this._codigoItem = value; base.OnPropertyChanged("CodigoItem"); } } public List Combustivel { get { return this._combustivel; } set { this._combustivel = value; base.OnPropertyChanged("Combustivel"); } } public List Fabricantes { get { return this._fabricantes; } set { this._fabricantes = value; base.OnPropertyChanged("Fabricantes"); } } public bool Invoke { get; set; } public Visibility IsVisiblePorcentagemReferencia { get { return this._isVisiblePorcentagemReferencia; } set { this._isVisiblePorcentagemReferencia = value; base.OnPropertyChanged("IsVisiblePorcentagemReferencia"); } } public Visibility IsVisibleValorDeterminado { get { return this._isVisibleValorDeterminado; } set { this._isVisibleValorDeterminado = value; base.OnPropertyChanged("IsVisibleValorDeterminado"); } } private Item ItemSelecionado { get; set; } private Gestor.Model.Domain.Seguros.Ramo Ramo { get; } public Fabricante SelectedFabricante { get { return this._selectedFabricante; } set { this._selectedFabricante = value; base.OnPropertyChanged("SelectedFabricante"); } } public Item SelectedItem { get { return this._selectedItem; } set { long? nullable; this._selectedItem = value; if (value != null) { nullable = new long?(value.get_Id()); } else { nullable = null; } base.VerificarEnables(nullable); base.OnPropertyChanged("SelectedItem"); } } public Gestor.Model.Common.UsoVeiculo? UsoVeiculo { get { return this._usoVeiculo; } set { bool auto; if (value.GetValueOrDefault() == 2 || value.GetValueOrDefault() == 3) { this.SelectedItem.get_Auto().set_Categoria(new Gestor.Model.Common.Categoria?(3)); this.Categoria = new Gestor.Model.Common.Categoria?(3); } Item selectedItem = this.SelectedItem; if (selectedItem != null) { auto = selectedItem.get_Auto(); } else { auto = false; } if (auto && value.HasValue) { this.SelectedItem.get_Auto().set_UsoVeiculo(value); } this._usoVeiculo = value; base.OnPropertyChanged("UsoVeiculo"); } } public AutoViewModel(bool substituir = false, ManutencaoItem manutencao = null, Item itemSelecionado = null, Gestor.Model.Domain.Seguros.Ramo ramo = null, bool endossoRenovacao = false) { this.Invoke = itemSelecionado == null; this.ItemSelecionado = itemSelecionado ?? ConsultaViewModel.ItemSelecionado; this.Ramo = ramo ?? ConsultaViewModel.DocumentoSelecionado.get_Controle().get_Ramo(); if (this.Invoke) { this.ItemSelecionado = this.ItemSelecionado ?? new Item(); this.ItemSelecionado.set_Documento(ConsultaViewModel.DocumentoSelecionado); } this._itemServico = new ItemServico(); this._servico = new AutoServico(); this.Seleciona(this.ItemSelecionado); if (substituir) { this.Substituir(this.ItemSelecionado); } if (manutencao != null) { this.Manter(this.ItemSelecionado, manutencao); } this.AllowAlterarExcluir = !endossoRenovacao; this.CarregaCobertura(); } public void Atualiza(string valorSelecionado) { if (valorSelecionado == "MERCADO") { this.IsVisiblePorcentagemReferencia = Visibility.Visible; this.IsVisibleValorDeterminado = Visibility.Collapsed; return; } this.IsVisiblePorcentagemReferencia = Visibility.Collapsed; this.IsVisibleValorDeterminado = Visibility.Visible; } public async void BaixarXls() { char chr; object obj; object obj1; object obj2; object obj3; object obj4; object obj5; object obj6; object obj7; object obj8; object obj9; object obj10; object obj11; object obj12; object obj13; object obj14; object obj15; object obj16; object obj17; object obj18; object obj19; object obj20; object obj21; object obj22; object obj23; object obj24; object obj25; object obj26; object obj27; object obj28; object obj29; object obj30; object obj31; object obj32; object obj33; object obj34; object obj35; object obj36; object obj37; object obj38; object obj39; object obj40; object obj41; object obj42; object obj43; object obj44; object obj45; object obj46; object obj47; object obj48; object obj49; object obj50; object obj51; object obj52; object obj53; object obj54; object obj55; object obj56; object obj57; object obj58; object obj59; object obj60; object obj61; object obj62; object obj63; object obj64; object obj65; object obj66; object obj67; object obj68; object obj69; object obj70; object obj71; object obj72; using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog()) { folderBrowserDialog.SelectedPath = Environment.SpecialFolder.Desktop.ToString(); if (folderBrowserDialog.ShowDialog() == DialogResult.OK && !string.IsNullOrWhiteSpace(folderBrowserDialog.SelectedPath)) { XLWorkbook xLWorkbook = new XLWorkbook(); DataTable dataTable = new DataTable(); List strs = new List() { "placa", "fabricante", "modelo", "fipe", "chassi", "anofabricacao", "anomodelo", "cor", "categoria", "combustivel", "zerokm", "renavam", "capacidade", "portas", "bonus", "ceppernoite", "ci", "financiado", "correcao", "isencao", "pcd", "cepcirculacao", "tipocobertura", "porcentagemreferencia", "tabelareferencia", "valordeterminado", "observacao", "pr casco", "fr casco", "lmi casco", "obs casco", "pr dm", "fr dm", "lmi dm", "obs dm", "pr dc", "fr dc", "lmi dc", "obs dc", "pr morte", "fr morte", "lmi morte", "obs morte", "pr invalidez", "fr invalidez", "lmi invalidez", "obs invalidez", "pr carro reserva", "fr carro reserva", "lmi carro reserva", "obs carro reserva", "pr vidros", "fr vidros", "lmi vidros", "obs vidros", "pr carroceria", "fr carroceria", "lmi carroceria", "obs carroceria", "pr Ass 24Horas", "fr Ass 24Horas", "lmi Ass 24Horas", "obs Ass 24Horas", "pr Danos Morais", "fr Danos Morais", "lmi Danos Morais", "obs Danos Morais", "pr app", "fr app", "lmi app", "obs app", "pr equipamentos", "fr equipamentos", "lmi equipamentos", "obs equipamentos" }; List strs1 = strs; List> lists = new List>(); List strs2 = new List() { "XXX0X00", "FORD", "MODELO", "000000-0", "75F 8C33MP Y2 W12900", "2000", "2001", "PRETO", "PASSEIO", "FLEX", "SIM", "00000000000", "5", "5", "100", "00.000-000", "000000", "NÃO", "MERCADO", "SEM", "NÃO", "00.000-000", "COMPREENSIVA", "100", "FIPE", "", "OBSERVAÇÕES", "1000", "2000", "3000", "teste obs", "", "", "", "", "2000", "3000", "4000", "teste obs", "100000", "200000", "300000", "teste obs", "2000", "3000", "4000", "teste obs", "", "", "", "", "1000", "2000", "3000", "teste obs", "2000", "3000", "4000", "teste obs", "", "", "", "", "1000", "2000", "3000", "teste obs", "", "", "", "", "2000", "3000", "4000", "teste obs", "1000", "2000", "3000", "teste obs" }; lists.Add(strs2); List strs3 = new List() { "XXX0X01", "CHEVROLET", "MODELO", "000000-1", "4EL ZBE75H B5 A65693", "2000", "2001", "VERDE", "PICKUP", "GASOLINA/ÁLCOOL/GNV", "NÃO", "00000000000", "5", "2", "100", "00.000-000", "000000", "SIM", "DETERMINADO", "IPI E ICMS", "NÃO", "00.000-000", "INCÊNDIO E ROUBO/FURTO", "100", "MOLICAR", "19767,34", "OBSERVAÇÕES", "1000", "2000", "3000", "teste obs", "", "", "", "", "2000", "3000", "4000", "teste obs", "100000", "200000", "300000", "teste obs", "2000", "3000", "4000", "teste obs", "", "", "", "", "1000", "2000", "3000", "teste obs", "2000", "3000", "4000", "teste obs", "", "", "", "", "1000", "2000", "3000", "teste obs", "", "", "", "", "2000", "3000", "4000", "teste obs", "1000", "2000", "3000", "teste obs" }; lists.Add(strs3); List> lists1 = lists; List strs4 = new List() { "BRANCO", "CINZA", "PRATA", "VERMELHO", "AMARELO", "OURO", "LARANJA", "ROSA", "VERDE", "AZUL", "VINHO", "MARROM", "BEGE", "DOURADO", "OUTROS" }; List strs5 = strs4; List strs6 = new List() { "PICKUP", "OUTROS", "PASSEIO", "CAMINHÃO", "CAMINHONETE", "ÔNIBUS", "UTILITÁRIO", "CARGA", "MOTOCICLETA", "TAXI", "UBER", "REBOCADOR", "REBOQUE/SEMI REBOQUE" }; List strs7 = strs6; List strs8 = new List() { "ÁLCOOL", "GASOLINA", "DIESEL", "FLEX", "GNV", "OUTROS", "GASOLINA/GNV", "GASOLINA/ÁLCOOL/GNV", "GASOLINA/ELÉTRICO", "HÍBRIDO", "ELÉTRICO", "GASOLINA/ÁLCOOL/ELÉTRICO" }; List strs9 = strs8; List strs10 = new List() { "MERCADO", "DETERMINADO" }; List strs11 = new List() { "SEM ISENÇÃO", "ICMS", "IPI", "IPI E ICMS" }; List strs12 = new List() { "COMPREENSIVA", "INCÊNDIO E ROUBO/FURTO", "DANOS A TERCEIROS", "PASSAGEIROS", "ROUBO/FURTO" }; List strs13 = new List() { "MOLICAR", "FIPE" }; List strs14 = new List() { "SIM", "NÃO" }; foreach (string str in strs1) { DataColumn dataColumn = new DataColumn() { DataType = Type.GetType("System.String"), ColumnName = str }; dataTable.Columns.Add(dataColumn); } foreach (List strs15 in lists1) { DataRow item = dataTable.NewRow(); foreach (string str1 in strs1) { item[str1] = strs15[strs1.IndexOf(str1)]; } dataTable.Rows.Add(item); } xLWorkbook.get_Worksheets().Add(dataTable, "EXEMPLO AUTO EXCEL"); xLWorkbook.SaveAs(string.Concat(folderBrowserDialog.SelectedPath, "\\EXEMPLO AUTO EXCEL.xlsx")); xLWorkbook = new XLWorkbook(); dataTable = new DataTable(); foreach (string str2 in strs1) { DataColumn dataColumn1 = new DataColumn() { DataType = Type.GetType("System.String"), ColumnName = str2 }; dataTable.Columns.Add(dataColumn1); } foreach (string str3 in strs5) { DataRow dataRow = dataTable.NewRow(); Label2: foreach (string str4 in strs1) { int num = strs5.IndexOf(str3); if (str4 == null) { continue; } switch (str4.Length) { case 2: { if (str4 == "ci") { DataRow dataRow1 = dataRow; string str5 = str4; obj = (num == 0 ? "000000" : ""); dataRow1[str5] = obj; continue; } else { continue; } } case 3: { chr = str4[0]; if (chr != 'c') { if (chr == 'p') { if (str4 == "pcd") { break; } continue; } else { continue; } } else if (str4 == "cor") { DataRow dataRow2 = dataRow; string str6 = str4; obj1 = (strs5.Count >= num + 1 ? strs5[num] : ""); dataRow2[str6] = obj1; continue; } else { continue; } } case 4: { if (str4 == "fipe") { DataRow dataRow3 = dataRow; string str7 = str4; obj3 = (num == 0 ? "000000-0" : ""); dataRow3[str7] = obj3; continue; } else { continue; } } case 5: { chr = str4[4]; if (chr > 'c') { if (chr != 'm') { if (chr != 's') { continue; } else if (str4 == "bonus") { DataRow dataRow4 = dataRow; string str8 = str4; obj6 = (num == 0 ? "0" : ""); dataRow4[str8] = obj6; continue; } else { continue; } } else if (str4 == "pr dm") { DataRow dataRow5 = dataRow; string str9 = str4; obj4 = (num == 0 ? "0" : ""); dataRow5[str9] = obj4; continue; } else if (str4 == "fr dm") { DataRow dataRow6 = dataRow; string str10 = str4; obj5 = (num == 0 ? "0" : ""); dataRow6[str10] = obj5; continue; } else { continue; } } else if (chr == 'a') { if (str4 == "placa") { DataRow dataRow7 = dataRow; string str11 = str4; obj7 = (num == 0 ? "XXX0X00" : ""); dataRow7[str11] = obj7; continue; } else { continue; } } else if (chr != 'c') { continue; } else if (str4 == "pr dc") { DataRow dataRow8 = dataRow; string str12 = str4; obj8 = (num == 0 ? "0" : ""); dataRow8[str12] = obj8; continue; } else if (str4 == "fr dc") { DataRow dataRow9 = dataRow; string str13 = str4; obj9 = (num == 0 ? "0" : ""); dataRow9[str13] = obj9; continue; } else { continue; } } case 6: { chr = str4[0]; if (chr > 'f') { switch (chr) { case 'l': { if (str4 == "lmi dm") { DataRow dataRow10 = dataRow; string str14 = str4; obj10 = (num == 0 ? "0" : ""); dataRow10[str14] = obj10; continue; } else if (str4 == "lmi dc") { DataRow dataRow11 = dataRow; string str15 = str4; obj11 = (num == 0 ? "0" : ""); dataRow11[str15] = obj11; continue; } else { continue; } } case 'm': { if (str4 == "modelo") { DataRow dataRow12 = dataRow; string str16 = str4; obj12 = (num == 0 ? "MODELO" : ""); dataRow12[str16] = obj12; continue; } else { continue; } } case 'n': { continue; } case 'o': { if (str4 == "obs dm") { DataRow dataRow13 = dataRow; string str17 = str4; obj13 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow13[str17] = obj13; continue; } else if (str4 == "obs dc") { DataRow dataRow14 = dataRow; string str18 = str4; obj14 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow14[str18] = obj14; continue; } else { continue; } } case 'p': { if (str4 == "portas") { DataRow dataRow15 = dataRow; string str19 = str4; obj15 = (num == 0 ? "00" : ""); dataRow15[str19] = obj15; continue; } else if (str4 == "pr app") { DataRow dataRow16 = dataRow; string str20 = str4; obj16 = (num == 0 ? "0" : ""); dataRow16[str20] = obj16; continue; } else { continue; } } default: { if (chr == 'z') { if (str4 == "zerokm") { goto Label0; } continue; } else { continue; } } } } else if (chr == 'c') { if (str4 == "chassi") { DataRow dataRow17 = dataRow; string str21 = str4; obj17 = (num == 0 ? "XXX XXXXXX XX XXXXXX" : ""); dataRow17[str21] = obj17; continue; } else { continue; } } else if (chr != 'f') { continue; } else if (str4 == "fr app") { DataRow dataRow18 = dataRow; string str22 = str4; obj18 = (num == 0 ? "0" : ""); dataRow18[str22] = obj18; continue; } else { continue; } break; } case 7: { chr = str4[0]; if (chr <= 'l') { if (chr == 'i') { if (str4 == "isencao") { DataRow dataRow19 = dataRow; string str23 = str4; obj21 = (strs11.Count >= num + 1 ? strs11[num] : ""); dataRow19[str23] = obj21; continue; } else { continue; } } else if (chr != 'l') { continue; } else if (str4 == "lmi app") { DataRow dataRow20 = dataRow; string str24 = str4; obj22 = (num == 0 ? "0" : ""); dataRow20[str24] = obj22; continue; } else { continue; } } else if (chr == 'o') { if (str4 == "obs app") { DataRow dataRow21 = dataRow; string str25 = str4; obj19 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow21[str25] = obj19; continue; } else { continue; } } else if (chr != 'r') { continue; } else if (str4 == "renavam") { DataRow dataRow22 = dataRow; string str26 = str4; obj20 = (num == 0 ? "00000000000" : ""); dataRow22[str26] = obj20; continue; } else { continue; } } case 8: { chr = str4[0]; if (chr == 'c') { if (str4 == "correcao") { DataRow dataRow23 = dataRow; string str27 = str4; obj23 = (strs10.Count >= num + 1 ? strs10[num] : ""); dataRow23[str27] = obj23; continue; } else { continue; } } else if (chr == 'f') { if (str4 == "fr casco") { DataRow dataRow24 = dataRow; string str28 = str4; obj24 = (num == 0 ? "0" : ""); dataRow24[str28] = obj24; continue; } else if (str4 == "fr morte") { DataRow dataRow25 = dataRow; string str29 = str4; obj25 = (num == 0 ? "0" : ""); dataRow25[str29] = obj25; continue; } else { continue; } } else if (chr != 'p') { continue; } else if (str4 == "pr casco") { DataRow dataRow26 = dataRow; string str30 = str4; obj26 = (num == 0 ? "0" : ""); dataRow26[str30] = obj26; continue; } else if (str4 == "pr morte") { DataRow dataRow27 = dataRow; string str31 = str4; obj27 = (num == 0 ? "0" : ""); dataRow27[str31] = obj27; continue; } else { continue; } } case 9: { chr = str4[0]; if (chr > 'c') { if (chr != 'f') { switch (chr) { case 'l': { if (str4 == "lmi casco") { DataRow dataRow28 = dataRow; string str32 = str4; obj29 = (num == 0 ? "0" : ""); dataRow28[str32] = obj29; continue; } else if (str4 == "lmi morte") { DataRow dataRow29 = dataRow; string str33 = str4; obj30 = (num == 0 ? "0" : ""); dataRow29[str33] = obj30; continue; } else { continue; } } case 'o': { if (str4 == "obs casco") { DataRow dataRow30 = dataRow; string str34 = str4; obj31 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow30[str34] = obj31; continue; } else if (str4 == "obs morte") { DataRow dataRow31 = dataRow; string str35 = str4; obj32 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow31[str35] = obj32; continue; } else { continue; } } case 'p': { if (str4 == "pr vidros") { DataRow dataRow32 = dataRow; string str36 = str4; obj33 = (num == 0 ? "0" : ""); dataRow32[str36] = obj33; continue; } else { continue; } } default: { continue; } } } else if (str4 == "fr vidros") { DataRow dataRow33 = dataRow; string str37 = str4; obj28 = (num == 0 ? "0" : ""); dataRow33[str37] = obj28; continue; } else { continue; } } else if (chr == 'a') { if (str4 == "anomodelo") { DataRow dataRow34 = dataRow; string str38 = str4; obj34 = (num == 0 ? "0000" : ""); dataRow34[str38] = obj34; continue; } else { continue; } } else if (chr != 'c') { continue; } else if (str4 == "categoria") { DataRow dataRow35 = dataRow; string str39 = str4; obj35 = (strs7.Count >= num + 1 ? strs7[num] : ""); dataRow35[str39] = obj35; continue; } else { continue; } break; } case 10: { chr = str4[2]; if (chr <= 'i') { if (chr == 'b') { if (str4 == "fabricante") { DataRow dataRow36 = dataRow; string str40 = str4; obj39 = (num == 0 ? "FABRICANTE" : ""); dataRow36[str40] = obj39; continue; } else { continue; } } else if (chr != 'i') { continue; } else if (str4 == "lmi vidros") { DataRow dataRow37 = dataRow; string str41 = str4; obj40 = (num == 0 ? "0" : ""); dataRow37[str41] = obj40; continue; } else { continue; } } else if (chr == 'n') { if (str4 == "financiado") { break; } continue; } else if (chr == 'p') { if (str4 == "capacidade") { DataRow dataRow38 = dataRow; string str42 = str4; obj36 = (num == 0 ? "000" : ""); dataRow38[str42] = obj36; continue; } else { continue; } } else if (chr != 's') { continue; } else if (str4 == "observacao") { DataRow dataRow39 = dataRow; string str43 = str4; obj37 = (num == 0 ? "OBSERVAÇÕES" : ""); dataRow39[str43] = obj37; continue; } else if (str4 == "obs vidros") { DataRow dataRow40 = dataRow; string str44 = str4; obj38 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow40[str44] = obj38; continue; } else { continue; } } case 11: { chr = str4[1]; if (chr == 'e') { if (str4 == "ceppernoite") { DataRow dataRow41 = dataRow; string str45 = str4; obj41 = (num == 0 ? "00.000-000" : ""); dataRow41[str45] = obj41; continue; } else { continue; } } else if (chr != 'o') { continue; } else if (str4 == "combustivel") { DataRow dataRow42 = dataRow; string str46 = str4; obj42 = (strs9.Count >= num + 1 ? strs9[num] : ""); dataRow42[str46] = obj42; continue; } else { continue; } } case 12: { chr = str4[0]; if (chr == 'f') { if (str4 == "fr invalidez") { DataRow dataRow43 = dataRow; string str47 = str4; obj43 = (num == 0 ? "0" : ""); dataRow43[str47] = obj43; continue; } else { continue; } } else if (chr != 'p') { continue; } else if (str4 == "pr invalidez") { DataRow dataRow44 = dataRow; string str48 = str4; obj44 = (num == 0 ? "0" : ""); dataRow44[str48] = obj44; continue; } else { continue; } } case 13: { chr = str4[0]; if (chr > 'c') { if (chr != 'f') { switch (chr) { case 'l': { if (str4 == "lmi invalidez") { DataRow dataRow45 = dataRow; string str49 = str4; obj46 = (num == 0 ? "0" : ""); dataRow45[str49] = obj46; continue; } else { continue; } } case 'm': case 'n': { continue; } case 'o': { if (str4 == "obs invalidez") { DataRow dataRow46 = dataRow; string str50 = str4; obj47 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow46[str50] = obj47; continue; } else { continue; } } case 'p': { if (str4 == "pr carroceria") { DataRow dataRow47 = dataRow; string str51 = str4; obj48 = (num == 0 ? "0" : ""); dataRow47[str51] = obj48; continue; } else { continue; } } default: { if (chr == 't') { break; } else { goto Label2; } } } if (str4 == "tipocobertura") { DataRow dataRow48 = dataRow; string str52 = str4; obj49 = (strs12.Count >= num + 1 ? strs12[num] : ""); dataRow48[str52] = obj49; continue; } else { continue; } } else if (str4 == "fr carroceria") { DataRow dataRow49 = dataRow; string str53 = str4; obj45 = (num == 0 ? "0" : ""); dataRow49[str53] = obj45; continue; } else { continue; } } else if (chr == 'a') { if (str4 == "anofabricacao") { DataRow dataRow50 = dataRow; string str54 = str4; obj50 = (num == 0 ? "0000" : ""); dataRow50[str54] = obj50; continue; } else { continue; } } else if (chr != 'c') { continue; } else if (str4 == "cepcirculacao") { DataRow dataRow51 = dataRow; string str55 = str4; obj51 = (num == 0 ? "00.000-000" : ""); dataRow51[str55] = obj51; continue; } else { continue; } } case 14: { chr = str4[0]; if (chr != 'f') { switch (chr) { case 'l': { if (str4 == "lmi carroceria") { DataRow dataRow52 = dataRow; string str56 = str4; obj53 = (num == 0 ? "0" : ""); dataRow52[str56] = obj53; continue; } else { continue; } } case 'o': { if (str4 == "obs carroceria") { DataRow dataRow53 = dataRow; string str57 = str4; obj54 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow53[str57] = obj54; continue; } else { continue; } } case 'p': { if (str4 == "pr Ass 24Horas") { DataRow dataRow54 = dataRow; string str58 = str4; obj55 = (num == 0 ? "0" : ""); dataRow54[str58] = obj55; continue; } else { continue; } } default: { continue; } } } else if (str4 == "fr Ass 24Horas") { DataRow dataRow55 = dataRow; string str59 = str4; obj52 = (num == 0 ? "0" : ""); dataRow55[str59] = obj52; continue; } else { continue; } break; } case 15: { chr = str4[0]; if (chr != 'f') { switch (chr) { case 'l': { if (str4 == "lmi Ass 24Horas") { DataRow dataRow56 = dataRow; string str60 = str4; obj58 = (num == 0 ? "0" : ""); dataRow56[str60] = obj58; continue; } else { continue; } } case 'o': { if (str4 == "obs Ass 24Horas") { DataRow dataRow57 = dataRow; string str61 = str4; obj59 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow57[str61] = obj59; continue; } else { continue; } } case 'p': { if (str4 == "pr Danos Morais") { DataRow dataRow58 = dataRow; string str62 = str4; obj60 = (num == 0 ? "0" : ""); dataRow58[str62] = obj60; continue; } else if (str4 == "pr equipamentos") { DataRow dataRow59 = dataRow; string str63 = str4; obj61 = (num == 0 ? "0" : ""); dataRow59[str63] = obj61; continue; } else { continue; } } default: { continue; } } } else if (str4 == "fr Danos Morais") { DataRow dataRow60 = dataRow; string str64 = str4; obj56 = (num == 0 ? "0" : ""); dataRow60[str64] = obj56; continue; } else if (str4 == "fr equipamentos") { DataRow dataRow61 = dataRow; string str65 = str4; obj57 = (num == 0 ? "0" : ""); dataRow61[str65] = obj57; continue; } else { continue; } break; } case 16: { chr = str4[0]; if (chr <= 'p') { if (chr != 'f') { switch (chr) { case 'l': { if (str4 == "lmi Danos Morais") { DataRow dataRow62 = dataRow; string str66 = str4; obj65 = (num == 0 ? "0" : ""); dataRow62[str66] = obj65; continue; } else if (str4 == "lmi equipamentos") { DataRow dataRow63 = dataRow; string str67 = str4; obj66 = (num == 0 ? "0" : ""); dataRow63[str67] = obj66; continue; } else { continue; } } case 'o': { if (str4 == "obs Danos Morais") { DataRow dataRow64 = dataRow; string str68 = str4; obj67 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow64[str68] = obj67; continue; } else if (str4 == "obs equipamentos") { DataRow dataRow65 = dataRow; string str69 = str4; obj68 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow65[str69] = obj68; continue; } else { continue; } } case 'p': { if (str4 == "pr carro reserva") { DataRow dataRow66 = dataRow; string str70 = str4; obj69 = (num == 0 ? "0" : ""); dataRow66[str70] = obj69; continue; } else { continue; } } default: { continue; } } } else if (str4 == "fr carro reserva") { DataRow dataRow67 = dataRow; string str71 = str4; obj64 = (num == 0 ? "0" : ""); dataRow67[str71] = obj64; continue; } else { continue; } } else if (chr == 't') { if (str4 == "tabelareferencia") { DataRow dataRow68 = dataRow; string str72 = str4; obj62 = (strs13.Count >= num + 1 ? strs13[num] : ""); dataRow68[str72] = obj62; continue; } else { continue; } } else if (chr != 'v') { continue; } else if (str4 == "valordeterminado") { DataRow dataRow69 = dataRow; string str73 = str4; obj63 = (num == 0 ? "000000" : ""); dataRow69[str73] = obj63; continue; } else { continue; } break; } case 17: { chr = str4[0]; if (chr == 'l') { if (str4 == "lmi carro reserva") { DataRow dataRow70 = dataRow; string str74 = str4; obj70 = (num == 0 ? "0" : ""); dataRow70[str74] = obj70; continue; } else { continue; } } else if (chr != 'o') { continue; } else if (str4 == "obs carro reserva") { DataRow dataRow71 = dataRow; string str75 = str4; obj71 = (num == 0 ? "OBSERVAÇÃO" : ""); dataRow71[str75] = obj71; continue; } else { continue; } } case 21: { if (str4 == "porcentagemreferencia") { DataRow dataRow72 = dataRow; string str76 = str4; obj72 = (num == 0 ? "000" : ""); dataRow72[str76] = obj72; continue; } else { continue; } } default: { continue; } } Label0: DataRow dataRow73 = dataRow; string str77 = str4; obj2 = (strs14.Count >= num + 1 ? strs14[num] : ""); dataRow73[str77] = obj2; } dataTable.Rows.Add(dataRow); } xLWorkbook.get_Worksheets().Add(dataTable, "VALORES PERMITIDOS AUTO EXCEL"); xLWorkbook.SaveAs(string.Concat(folderBrowserDialog.SelectedPath, "\\VALORES PERMITIDOS AUTO EXCEL.xlsx")); } await base.ShowMessage(string.Concat("\"EXEMPLO AUTO EXCEL.xlsx\" E \"VALORES PERMITIDOS AUTO EXCEL.xlsx\"\nFORAM SALVOS EM \"", folderBrowserDialog.SelectedPath, "\""), "OK", "", false); } folderBrowserDialog = null; return; goto Label2; } public async Task BuscaModelo(string fipe) { return await this._itemServico.BuscarModelo(fipe); } public async void CancelarAlteracao() { base.Loading(true); await this.SelecionaItem(this.ItemSelecionado, false); await this.CoberturaViewModel.CancelarAlteracao(); base.Alterar(false); base.Loading(false); } public void CarregaCobertura() { this.CoberturaViewModel.Item = this.ItemSelecionado; this.CoberturaViewModel.Ramo = this.Ramo; this.Cobertura = new CoberturaView(this.CoberturaViewModel); } public List Coberturas(DataRow row) { char chr; List coberturas = new List(); foreach (DataColumn column in row.Table.Columns) { if (!Regex.IsMatch(column.ColumnName, "pr .+")) { continue; } string value = Regex.Match(column.ColumnName, "pr (.+)").Groups[1].Value; if (value != "casco" && value != "dm" && value != "dc" && value != "morte" && value != "invalidez" && value != "carro reserva" && value != "vidros" && value != "carroceria" && value != "ass 24horas" && value != "danos morais" && value != "app" && value != "equipamentos") { continue; } int num = 0; string str = ""; if (value != null) { switch (value.Length) { case 2: { chr = value[1]; if (chr == 'c') { if (value == "dc") { num = 3; str = "Danos Corporais"; break; } else { break; } } else if (chr != 'm') { break; } else if (value == "dm") { num = 2; str = "Danos Materiais"; break; } else { break; } } case 3: { if (value == "app") { num = 53; str = "Acidentes Pessoais"; break; } else { break; } } case 5: { chr = value[0]; if (chr == 'c') { if (value == "casco") { num = 1; str = "Veiculo (Casco)"; break; } else { break; } } else if (chr != 'm') { break; } else if (value == "morte") { num = 4; str = "Morte"; break; } else { break; } } case 6: { if (value == "vidros") { num = 6; str = "Vidros"; break; } else { break; } } case 9: { if (value == "invalidez") { num = 5; str = "Invalidez"; break; } else { break; } } case 10: { if (value == "carroceria") { num = 25; str = "Carroceria"; break; } else { break; } } case 11: { if (value == "ass 24horas") { num = 19; str = "Assistência (Guincho)"; break; } else { break; } } case 12: { chr = value[0]; if (chr == 'd') { if (value == "danos morais") { num = 17; str = "Danos Morais"; break; } else { break; } } else if (chr != 'e') { break; } else if (value == "equipamentos") { num = 54; str = "Equipamentos"; break; } else { break; } } case 13: { if (value == "carro reserva") { num = 7; str = "Carro Reserva"; break; } else { break; } } } } decimal num1 = (string.IsNullOrWhiteSpace(row.Field(string.Concat("pr ", value)).ToString()) ? decimal.Zero : Gestor.Model.Helper.ValidationHelper.ToDecimal(row.Field(string.Concat("pr ", value)).ToString(), "pt-BR")); decimal num2 = (string.IsNullOrWhiteSpace(row.Field(string.Concat("lmi ", value)).ToString()) ? decimal.Zero : Gestor.Model.Helper.ValidationHelper.ToDecimal(row.Field(string.Concat("lmi ", value)).ToString(), "pt-BR")); decimal num3 = (string.IsNullOrWhiteSpace(row.Field(string.Concat("fr ", value)).ToString()) ? decimal.Zero : Gestor.Model.Helper.ValidationHelper.ToDecimal(row.Field(string.Concat("fr ", value)).ToString(), "pt-BR")); string str1 = (string.IsNullOrWhiteSpace(row.Field(string.Concat("obs ", value)).ToString()) ? "" : row.Field(string.Concat("obs ", value)).ToString()); if (!(num2 > decimal.Zero) && !(num3 > decimal.Zero) && !(num1 > decimal.Zero)) { continue; } Gestor.Model.Domain.Seguros.Cobertura cobertura = new Gestor.Model.Domain.Seguros.Cobertura(); CoberturaPadrao coberturaPadrao = new CoberturaPadrao(); coberturaPadrao.set_Id((long)num); cobertura.set_CoberturaPadrao(coberturaPadrao); cobertura.set_Observacao(string.Concat(str, " - ", str1)); cobertura.set_Premio(num1); cobertura.set_Lmi(num2); cobertura.set_Franquia(num3); coberturas.Add(cobertura); } return coberturas; } public void Descarregar() { this.Cobertura = null; } public void Dispose() { Gestor.Application.Actions.Actions.UpdateItem = (Action)Delegate.Remove(Gestor.Application.Actions.Actions.UpdateItem, new Action(this.Seleciona)); Gestor.Application.Actions.Actions.SubstituirItem = (Action)Delegate.Remove(Gestor.Application.Actions.Actions.SubstituirItem, new Action(this.Substituir)); Gestor.Application.Actions.Actions.ManterItem = (Action)Delegate.Remove(Gestor.Application.Actions.Actions.ManterItem, new Action(this.Manter)); } public async Task Excluir() { bool flag; if (this.SelectedItem == null || this.SelectedItem.get_Id() == 0) { flag = false; } else if (await base.ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO", false)) { base.Loading(true); bool flag1 = await this._servico.Delete(this.SelectedItem); base.Loading(false); if (flag1) { string str = string.Concat("EXCLUIU ITEM DE DESCRIÇÃO \"", this.SelectedItem.get_Descricao(), "\""); long id = this.SelectedItem.get_Id(); TipoTela? nullable = new TipoTela?(3); object[] objArray = new object[] { this.SelectedItem.get_Id(), this.SelectedItem.get_Documento().get_Id(), this.SelectedItem.get_Documento().get_Controle().get_Ramo().get_Nome(), this.SelectedItem.get_Documento().get_Controle().get_Cliente().get_Nome(), this.SelectedItem.get_Documento().get_Controle().get_Cliente().get_Id() }; base.RegistrarAcao(str, id, nullable, string.Format("ID ITEM: {0}\nID DOCUMENTO: {1}\nRAMO: {2}\nCLIENTE: {3}\nID CLIENTE: {4}", objArray)); base.ToggleSnackBar(string.Concat(this.Ramo.get_Nome(), " EXCLUÍDO COM SUCESSO"), true); flag = true; } else { await base.ShowMessage("NÃO POSSÍVEL EXCLUIR O ITEM", "OK", "", false); flag = false; } } else { flag = false; } return flag; } public async Task>> ImportarXls() { List> keyValuePairs; string fileName; List> keyValuePairs1 = new List>(); using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.Filter = "Excel|*.xls;*.xlsx"; openFileDialog.InitialDirectory = Environment.SpecialFolder.Desktop.ToString(); if (DialogResult.OK == openFileDialog.ShowDialog()) { fileName = openFileDialog.FileName; } else { keyValuePairs1.Add(new KeyValuePair("EXCEL", "ERRO AO SELECIONAR DOCUMENTO")); keyValuePairs = keyValuePairs1; keyValuePairs1 = null; return keyValuePairs; } } try { List> tasks1 = await Task.Run>>(() => { string upper; Microsoft.Office.Interop.Excel.Application variable = (Microsoft.Office.Interop.Excel.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("00024500-0000-0000-C000-000000000046"))); Workbook variable1 = variable.Workbooks.Open(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); List strs = new List() { "placa", "fabricante", "modelo", "fipe", "chassi", "anofabricacao", "anomodelo", "cor", "categoria", "combustivel", "zerokm", "renavam", "capacidade", "portas", "bonus", "ceppernoite", "ci", "financiado", "correcao", "isencao", "pcd", "cepcirculacao", "tipocobertura", "porcentagemreferencia", "tabelareferencia", "valordeterminado", "observacao", "usoveiculos" }; List dataTables = new List(); foreach (object worksheet in variable1.Worksheets) { DataTable dataTable = new DataTable(); Microsoft.Office.Interop.Excel.Range usedRange = ((Worksheet)worksheet).UsedRange; if (AutoViewModel.u003cu003eo__77.u003cu003ep__0 == null) { AutoViewModel.u003cu003eo__77.u003cu003ep__0 = CallSite>.Create(Binder.Convert(CSharpBinderFlags.None, typeof(object[,]), typeof(AutoViewModel))); } object[,] target = AutoViewModel.u003cu003eo__77.u003cu003ep__0.Target(AutoViewModel.u003cu003eo__77.u003cu003ep__0, usedRange.Value2); int num1 = 0; for (int i = 0; i <= usedRange.Columns.Count - 1; i++) { if (target[1, i + 1] != null) { DataColumn dataColumn = new DataColumn() { DataType = Type.GetType("System.String"), ColumnName = Funcoes.RemoverAcentos(target[1, i + 1].ToString().ToLower()) }; dataTable.Columns.Add(dataColumn); for (int j = 0; j <= usedRange.Rows.Count - 2; j++) { object obj = target[j + 2, i + 1]; string str = obj as string; if (str != null) { upper = Funcoes.RemoverAcentos(str).ToUpper(); } else if (!(obj is double)) { upper = (!(obj is bool) ? "" : ((bool)obj ? "1" : "0")); } else { double num2 = (double)obj; upper = (!num2.ToString(CultureInfo.InvariantCulture).Contains("+") ? num2.ToString(CultureInfo.InvariantCulture) : "."); } if (i + num1 != 0) { dataTable.Rows[j][i + num1] = upper; } else { dataTable.Rows.Add(dataTable.NewRow()); dataTable.Rows[j][i + num1] = upper; } } } else { num1--; } } dataTables.Add(dataTable); } variable.Quit(); List> tasks = new List>(); foreach (DataTable dataTable1 in dataTables) { for (int k = dataTable1.Rows.Count - 1; k >= 0; k--) { object[] itemArray = dataTable1.Rows[k].ItemArray; Func u003cu003e9_772 = AutoViewModel.u003cu003ec.u003cu003e9__77_2; if (u003cu003e9_772 == null) { u003cu003e9_772 = (object item) => string.IsNullOrEmpty((item != null ? item.ToString() : null)); AutoViewModel.u003cu003ec.u003cu003e9__77_2 = u003cu003e9_772; } if (((IEnumerable)itemArray).All(u003cu003e9_772)) { dataTable1.Rows.RemoveAt(k); } } tasks.AddRange(dataTable1.AsEnumerable().ToList().Select>(async (DataRow x) => { decimal num; bool? nullable; bool? nullable1; bool? nullable2; bool? nullable3; bool? nullable4; Item item2 = new Item(); Item item1 = item2; Auto auto = new Auto(); auto.set_Placa((!dataTable1.Columns.Contains("placa") || string.IsNullOrWhiteSpace(x.Field("placa").ToString()) ? null : x.Field("placa").ToString().ToUpper())); auto.set_AnoFabricacao((!dataTable1.Columns.Contains("anofabricacao") || string.IsNullOrWhiteSpace(x.Field("anofabricacao").ToString()) ? null : (new Regex("[^0-9]")).Replace(x.Field("anofabricacao").ToString(), ""))); auto.set_AnoModelo((!dataTable1.Columns.Contains("anomodelo") || string.IsNullOrWhiteSpace(x.Field("anomodelo").ToString()) ? null : (new Regex("[^0-9]")).Replace(x.Field("anomodelo").ToString(), ""))); auto.set_Bonus((!dataTable1.Columns.Contains("bonus") || string.IsNullOrWhiteSpace(x.Field("bonus").ToString()) ? null : new int?(int.Parse((new Regex("[^0-9]")).Replace(x.Field("bonus").ToString(), ""))))); auto.set_Capacidade((!dataTable1.Columns.Contains("capacidade") || string.IsNullOrWhiteSpace(x.Field("capacidade").ToString()) ? null : (new Regex("[^0-9]")).Replace(x.Field("capacidade").ToString(), ""))); auto.set_CepPernoite((!dataTable1.Columns.Contains("ceppernoite") || string.IsNullOrWhiteSpace(x.Field("ceppernoite").ToString()) ? Gestor.Common.Validation.ValidationHelper.FormatPostCode((new Regex("[^0-9]")).Replace(x.Field("cepcirculacao").ToString(), "")) : Gestor.Common.Validation.ValidationHelper.FormatPostCode((new Regex("[^0-9]")).Replace(x.Field("ceppernoite").ToString(), "")))); auto.set_Chassi((!dataTable1.Columns.Contains("chassi") || string.IsNullOrWhiteSpace(x.Field("chassi").ToString()) ? null : x.Field("chassi").ToString())); auto.set_Ci((!dataTable1.Columns.Contains("ci") || string.IsNullOrWhiteSpace(x.Field("ci").ToString()) ? null : (new Regex("[^0-9]")).Replace(x.Field("ci").ToString(), ""))); auto.set_Observacao((!dataTable1.Columns.Contains("observacao") || string.IsNullOrWhiteSpace(x.Field("observacao").ToString()) ? null : x.Field("observacao").ToString())); auto.set_Cor((!dataTable1.Columns.Contains("cor") || string.IsNullOrWhiteSpace(x.Field("cor").ToString()) ? null : Funcoes.GetCor(x.Field("cor").ToString().ToLower()))); Auto auto1 = auto; if (!dataTable1.Columns.Contains("financiado") || string.IsNullOrWhiteSpace(x.Field("financiado").ToString())) { nullable = null; nullable1 = nullable; } else { nullable1 = new bool?(x.Field("financiado").ToString().ToLower() == "sim"); } auto1.set_Financiado(nullable1); Auto auto2 = auto; if (!dataTable1.Columns.Contains("zerokm") || string.IsNullOrWhiteSpace(x.Field("zerokm").ToString())) { nullable = null; nullable2 = nullable; } else { nullable2 = new bool?(x.Field("zerokm").ToString().ToLower() == "sim"); } auto2.set_ZeroKm(nullable2); auto.set_Combustivel((!dataTable1.Columns.Contains("combustivel") || string.IsNullOrWhiteSpace(x.Field("combustivel").ToString()) ? null : Funcoes.GetCombustivel(x.Field("combustivel").ToString().ToLower()))); auto.set_Correcao((!dataTable1.Columns.Contains("correcao") || string.IsNullOrWhiteSpace(x.Field("correcao").ToString()) ? null : Funcoes.GetCorrecao(x.Field("correcao").ToString().ToLower()))); auto.set_Fabricante((!dataTable1.Columns.Contains("fabricante") || string.IsNullOrWhiteSpace(x.Field("fabricante").ToString()) ? null : await Funcoes.GetFabricante(x.Field("fabricante").ToString().ToLower()))); auto.set_Fipe((!dataTable1.Columns.Contains("fipe") || string.IsNullOrWhiteSpace(x.Field("fipe").ToString()) ? null : Gestor.Model.Helper.ValidationHelper.FormataFipe((new Regex("[^0-9]")).Replace(x.Field("fipe").ToString(), "")))); auto.set_Isencao((!dataTable1.Columns.Contains("isencao") || string.IsNullOrWhiteSpace(x.Field("isencao").ToString()) ? null : Funcoes.GetIsencao(x.Field("isencao").ToString().ToLower()))); auto.set_Modelo((!dataTable1.Columns.Contains("modelo") || string.IsNullOrWhiteSpace(x.Field("modelo").ToString()) ? null : x.Field("modelo").ToString())); Auto auto3 = auto; if (!dataTable1.Columns.Contains("pcd") || string.IsNullOrWhiteSpace(x.Field("pcd").ToString())) { nullable = null; nullable3 = nullable; } else { nullable3 = new bool?(x.Field("pcd").ToString().ToLower() == "sim"); } auto3.set_Pcd(nullable3); auto.set_PorcentagemReferencia((!dataTable1.Columns.Contains("porcentagemreferencia") || string.IsNullOrWhiteSpace(x.Field("porcentagemreferencia").ToString()) ? decimal.Zero : (decimal.TryParse(x.Field("porcentagemreferencia").ToString(), out num) ? decimal.Parse(x.Field("porcentagemreferencia").ToString()) : decimal.Zero))); auto.set_Portas((!dataTable1.Columns.Contains("portas") || string.IsNullOrWhiteSpace(x.Field("portas").ToString()) ? null : (new Regex("[^0-9]")).Replace(x.Field("portas").ToString(), ""))); auto.set_RegiaoCirculacao((!dataTable1.Columns.Contains("cepcirculacao") || string.IsNullOrWhiteSpace(x.Field("cepcirculacao").ToString()) ? null : Gestor.Common.Validation.ValidationHelper.FormatPostCode((new Regex("[^0-9]")).Replace(x.Field("cepcirculacao").ToString(), "")))); auto.set_Renavam((!dataTable1.Columns.Contains("renavam") || string.IsNullOrWhiteSpace(x.Field("renavam").ToString()) ? null : (new Regex("[^0-9]")).Replace(x.Field("renavam").ToString(), ""))); auto.set_TabelaReferencia((!dataTable1.Columns.Contains("tabelareferencia") || string.IsNullOrWhiteSpace(x.Field("tabelareferencia").ToString()) ? null : Funcoes.GetTabelaReferencia(x.Field("tabelareferencia").ToString().ToLower()))); auto.set_TipoCobertura((!dataTable1.Columns.Contains("tipocobertura") || string.IsNullOrWhiteSpace(x.Field("tipocobertura").ToString()) ? null : Funcoes.GetTipoCobertura(x.Field("tipocobertura").ToString().ToLower()))); auto.set_ValorDeterminado((!dataTable1.Columns.Contains("valordeterminado") || string.IsNullOrWhiteSpace(x.Field("valordeterminado").ToString()) || !Gestor.Common.Validation.ValidationHelper.ValidateValor(x.Field("valordeterminado").ToString()) ? decimal.Zero : decimal.Parse(x.Field("valordeterminado").ToString()))); auto.set_Categoria((!dataTable1.Columns.Contains("categoria") || string.IsNullOrWhiteSpace(x.Field("categoria").ToString()) ? null : Funcoes.GetCategoria(x.Field("categoria").ToString().ToLower()))); auto.set_UsoVeiculo((!dataTable1.Columns.Contains("usoveiculo") || string.IsNullOrWhiteSpace(x.Field("usoveiculo").ToString()) ? null : Funcoes.GetUsoveiculo(x.Field("usoveiculo").ToString().ToUpper()))); Auto auto4 = auto; if (!dataTable1.Columns.Contains("KitGas") || string.IsNullOrWhiteSpace(x.Field("KitGas").ToString())) { nullable = null; nullable4 = nullable; } else { nullable4 = new bool?(x.Field("KitGas").ToString().ToLower() == "sim"); } auto4.set_KitGas(nullable4); item1.set_Auto(auto); item2.set_Coberturas(this.Coberturas(x)); item2.set_Documento(this.ItemSelecionado.get_Documento()); item2.set_Substituicao(null); return item2; }).ToList>()); } return tasks; }); if (tasks1.Count != 0) { Item[] itemArray1 = await Task.WhenAll(tasks1); keyValuePairs1 = await this.SalvarRange(itemArray1); } else { keyValuePairs1.Add(new KeyValuePair("EXCEL", "NENHUMA COLUNA FOI ENCONTRADA")); keyValuePairs = keyValuePairs1; keyValuePairs1 = null; return keyValuePairs; } } catch (Exception exception) { keyValuePairs1.Add(new KeyValuePair("EXCEL", "FALHA AO IMPORTAR O EXCEL,\nVERIFIQUE SE O ARQUIVO POSSUI ALGUM ERRO")); } keyValuePairs = keyValuePairs1; keyValuePairs1 = null; return keyValuePairs; } public async Task Incluir(bool substituir = false) { int? ordem; long? nullable; List coberturas; long? nullable1; long? nullable2; coberturas = (this.CoberturaViewModel.Coberturas == null ? this.CoberturaViewModel.CarregaCoberturaPadrao().ToList() : this.CoberturaViewModel.Coberturas.ToList()); List coberturas1 = coberturas; Item item = new Item(); item.set_Documento(this.ItemSelecionado.get_Documento()); Item item1 = item; ordem = (substituir ? base.ItemSubstituido.get_Ordem() : new int?(await base.QuantidadeDeItens(this.ItemSelecionado.get_Documento().get_Controle().get_Id()))); item1.set_Ordem(ordem); Item item2 = item; Auto auto = new Auto(); auto.set_Isencao(new Isencao?(0)); auto.set_ZeroKm(new bool?(false)); auto.set_Financiado(new bool?(false)); auto.set_UsoVeiculo(new Gestor.Model.Common.UsoVeiculo?(0)); auto.set_Categoria(new Gestor.Model.Common.Categoria?(3)); item2.set_Auto(auto); Item item3 = item; if (substituir) { nullable1 = new long?(base.ItemSubstituido.get_Id()); } else { nullable = null; nullable1 = nullable; } item3.set_Substituicao(nullable1); Item item4 = item; item1 = null; item = null; bool valueOrDefault = substituir; if (valueOrDefault) { valueOrDefault = await base.ShowMessage("DESEJA COPIAR OS DADOS DO ITEM?", "SIM", "NÃO", false); } if (!valueOrDefault) { this.SelectedItem = item4; this.SelectedItem.get_Auto().set_Item(item4); this.UsoVeiculo = this.SelectedItem.get_Auto().get_UsoVeiculo(); this.Categoria = this.SelectedItem.get_Auto().get_Categoria(); } else { this.SelectedItem.set_Id((long)0); this.SelectedItem.get_Auto().set_Id((long)0); Item selectedItem = this.SelectedItem; Item itemSubstituido = base.ItemSubstituido; if (itemSubstituido != null) { nullable2 = new long?(itemSubstituido.get_Id()); } else { nullable = null; nullable2 = nullable; } selectedItem.set_Substituicao(nullable2); this.SelectedItem.set_Documento(this.ItemSelecionado.get_Documento()); } ordem = item4.get_Ordem(); if (ordem.GetValueOrDefault() == 2 && !substituir) { if (!await base.ShowMessage("ESTA APÓLICE SERÁ UMA FROTA, DESEJA CONTINUAR?", "SIM", "NÃO", false)) { coberturas1 = null; item4 = null; return; } } ordem = item4.get_Ordem(); int num = 1; valueOrDefault = ordem.GetValueOrDefault() > num & ordem.HasValue; if (valueOrDefault) { valueOrDefault = await base.ShowMessage("DESEJA REPLICAR AS COBERTURAS DO ITEM SELECIONADO?", "SIM", "NÃO", false); } if (!valueOrDefault) { this.CoberturaViewModel.CarregaPadrao(); } else { this.CoberturaViewModel.Coberturas = new ObservableCollection(); coberturas1.ForEach((Gestor.Model.Domain.Seguros.Cobertura x) => { x.set_Item(this.SelectedItem); this.CoberturaViewModel.Coberturas.Add(x); }); } if (substituir) { this.CoberturaViewModel.Coberturas = new ObservableCollection(); coberturas1.ForEach((Gestor.Model.Domain.Seguros.Cobertura x) => { x.set_Item(this.SelectedItem); this.CoberturaViewModel.Coberturas.Add(x); }); } base.Alterar(true); coberturas1 = null; item4 = null; } public void Manter(Item item, ManutencaoItem manutencao) { if (manutencao.get_Tipo() == 1) { base.ItemSubstituido = item; } this.Manter(manutencao); base.Mantido = true; } public void Manter(ManutencaoItem manutencao) { long? nullable; object list; ObservableCollection coberturas = this.CoberturaViewModel.Coberturas; if (coberturas != null) { list = coberturas.ToList(); } else { list = null; } this.SelectedItem.set_Id((long)0); this.SelectedItem.get_Auto().set_Id((long)0); Item selectedItem = this.SelectedItem; Item itemSubstituido = base.ItemSubstituido; if (itemSubstituido != null) { nullable = new long?(itemSubstituido.get_Id()); } else { nullable = null; } selectedItem.set_Substituicao(nullable); this.SelectedItem.set_Documento(this.ItemSelecionado.get_Documento()); if (manutencao.get_Tipo() == null) { this.SelectedItem.set_Sinistrado(false); this.SelectedItem.set_Status(""); this.SelectedItem.set_Sinistro(null); this.SelectedItem.set_Sinistros(null); } this.CoberturaViewModel.CarregaPadrao(); this.CoberturaViewModel.Coberturas = new ObservableCollection(); if (list != null) { ((List)list).ForEach((Gestor.Model.Domain.Seguros.Cobertura x) => { x.set_Item(this.SelectedItem); this.CoberturaViewModel.Coberturas.Add(x); }); } else { } base.Alterar(true); } public async Task>> Salvar() { List> keyValuePairs; string str; string descricao; string str1; string str2; string str3; string str4; Auto auto = this.SelectedItem.get_Auto(); str = (!string.IsNullOrEmpty(this.SelectedItem.get_Auto().get_Placa()) ? Gestor.Model.Helper.ValidationHelper.FormataPlaca(this.SelectedItem.get_Auto().get_Placa()) : string.Empty); auto.set_Placa(str); Item selectedItem = this.SelectedItem; string[] modelo = new string[7]; Fabricante fabricante = this.SelectedItem.get_Auto().get_Fabricante(); if (fabricante != null) { descricao = fabricante.get_Descricao(); } else { descricao = null; } modelo[0] = descricao; modelo[1] = " "; modelo[2] = this.SelectedItem.get_Auto().get_Modelo(); modelo[3] = " / "; modelo[4] = this.SelectedItem.get_Auto().get_Chassi(); modelo[5] = " / "; modelo[6] = this.SelectedItem.get_Auto().get_Placa(); selectedItem.set_Descricao(string.Concat(modelo)); Item item = this.SelectedItem; List configuracoes = Recursos.Configuracoes; bool flag = configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 18); List configuracaoSistemas = Recursos.Configuracoes; List> keyValuePairs1 = item.Validate(flag, configuracaoSistemas.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 27)); List> keyValuePairs2 = keyValuePairs1; keyValuePairs2.AddRange(await this.Validate()); keyValuePairs2 = null; if (keyValuePairs1.Count <= 0) { Item selectedItem1 = this.SelectedItem; selectedItem1.set_Coberturas(await this.CoberturaViewModel.LimpaCoberturas()); selectedItem1 = null; str1 = (this.SelectedItem.get_Id() == 0 ? "INCLUIU" : "ALTEROU"); str4 = str1; if (this.SelectedItem.get_Documento().get_Ordem() <= 0) { str2 = ""; } else if (base.Mantido) { str2 = string.Format("ITEM ALTERADO NO ENDOSSO ORDEM {0}", this.SelectedItem.get_Documento().get_Ordem()); } else { str2 = (base.ItemSubstituido != null ? string.Format("SUBSTITUIÇÃO DO ITEM {0} NO ENDOSSO ORDEM {1}", base.ItemSubstituido.get_Ordem(), this.SelectedItem.get_Documento().get_Ordem()) : string.Format("ITEM INCLUÍDO NO ENDOSSO ORDEM {0}", this.SelectedItem.get_Documento().get_Ordem())); } string str5 = str2; if (this.SelectedItem.get_Id() == 0) { this.SelectedItem.set_Status(str5); } this.SelectedItem = await this._itemServico.Save(this.SelectedItem); if (this._itemServico.Sucesso) { if (base.ItemSubstituido != null) { str3 = (base.Mantido ? string.Format("ITEM ALTERADO NO ENDOSSO ORDEM {0}", this.SelectedItem.get_Documento().get_Ordem()) : string.Format("ITEM SUBSTITUIDO NO ENDOSSO ORDEM {0}", this.SelectedItem.get_Documento().get_Ordem())); string str6 = str3; await this._itemServico.Substituir(base.ItemSubstituido, this.SelectedItem.get_Id(), str6); } base.Mantido = false; await this.SelecionaItem(this.SelectedItem, false); this.ItemSelecionado = this.SelectedItem; if (this.Invoke) { ConsultaViewModel.ItemSelecionado = this.SelectedItem; } base.ToggleSnackBar(string.Concat(this.Ramo.get_Nome(), " SALVO COM SUCESSO"), true); string str7 = string.Concat(str4, " ITEM DE DESCRIÇÃO \"", this.SelectedItem.get_Descricao(), "\""); long id = this.SelectedItem.get_Id(); TipoTela? nullable = new TipoTela?(3); object[] objArray = new object[] { this.SelectedItem.get_Id(), this.SelectedItem.get_Documento().get_Id(), this.SelectedItem.get_Documento().get_Controle().get_Ramo().get_Nome(), this.SelectedItem.get_Documento().get_Controle().get_Cliente().get_Nome(), this.SelectedItem.get_Documento().get_Controle().get_Cliente().get_Id() }; base.RegistrarAcao(str7, id, nullable, string.Format("ID ITEM: {0}\nID DOCUMENTO: {1}\nRAMO: {2}\nCLIENTE: {3}\nID CLIENTE: {4}", objArray)); base.Alterar(false); keyValuePairs = null; } else { keyValuePairs = null; } } else { keyValuePairs = keyValuePairs1; } keyValuePairs1 = null; str4 = null; return keyValuePairs; } public async Task>> SalvarRange(IEnumerable list) { List> keyValuePairs; string str; string descricao; string str1; string str2; Item item = null; Item item1 = new Item(); List> keyValuePairs1 = new List>(); int num = await base.QuantidadeDeItens(list.First().get_Documento().get_Controle().get_Id()); foreach (Item item in list) { if (!item.get_Auto().get_Isencao().HasValue) { item.get_Auto().set_Isencao(new Isencao?(0)); } if (!item.get_Auto().get_ZeroKm().HasValue) { item.get_Auto().set_ZeroKm(new bool?(false)); } if (!item.get_Auto().get_Financiado().HasValue) { item.get_Auto().set_Financiado(new bool?(false)); } if (!item.get_Auto().get_UsoVeiculo().HasValue) { item.get_Auto().set_UsoVeiculo(new Gestor.Model.Common.UsoVeiculo?(0)); } item.set_Ordem(new int?(num)); num++; item.get_Auto().set_Item(item); Auto auto = item.get_Auto(); str = (!string.IsNullOrEmpty(item.get_Auto().get_Placa()) ? Gestor.Model.Helper.ValidationHelper.FormataPlaca(item.get_Auto().get_Placa()) : string.Empty); auto.set_Placa(str); Item item2 = item; string[] modelo = new string[7]; Fabricante fabricante = item.get_Auto().get_Fabricante(); if (fabricante != null) { descricao = fabricante.get_Descricao(); } else { descricao = null; } modelo[0] = descricao; modelo[1] = " "; modelo[2] = item.get_Auto().get_Modelo(); modelo[3] = " / "; modelo[4] = item.get_Auto().get_Chassi(); modelo[5] = " / "; modelo[6] = item.get_Auto().get_Placa(); item2.set_Descricao(string.Concat(modelo)); Item item3 = item; List configuracoes = Recursos.Configuracoes; List> keyValuePairs2 = item3.Validate(configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 18), false); List> keyValuePairs3 = keyValuePairs2; keyValuePairs3.AddRange(await this.Validate(item)); keyValuePairs3 = null; Item item4 = item; str1 = (item.get_Documento().get_Ordem() > 0 ? string.Format("ITEM INCLUÍDO NO ENDOSSO ORDEM {0}", item.get_Documento().get_Ordem()) : ""); item4.set_Status(str1); if (keyValuePairs2.Count <= 0) { continue; } keyValuePairs1.Add(new KeyValuePair("", item.get_Descricao())); keyValuePairs1.AddRange(keyValuePairs2); keyValuePairs2 = null; } if (keyValuePairs1.Count <= 0) { foreach (Item item5 in list) { str2 = (item5.get_Id() == 0 ? "INCLUIU" : "ALTEROU"); string str3 = str2; item1 = await this._itemServico.Save(item5); string str4 = string.Concat(str3, " ITEM DE DESCRIÇÃO \"", item5.get_Descricao(), "\""); long id = item5.get_Id(); TipoTela? nullable = new TipoTela?(3); object[] objArray = new object[] { item5.get_Id(), item5.get_Documento().get_Id(), item5.get_Documento().get_Controle().get_Ramo().get_Nome(), item5.get_Documento().get_Controle().get_Cliente().get_Nome(), item5.get_Documento().get_Controle().get_Cliente().get_Id() }; base.RegistrarAcao(str4, id, nullable, string.Format("ID ITEM: {0}\nID DOCUMENTO: {1}\nRAMO: {2}\nCLIENTE: {3}\nID CLIENTE: {4}", objArray)); str3 = null; } this.SelectedItem = item1; await this.SelecionaItem(this.SelectedItem, false); this.ItemSelecionado = this.SelectedItem; if (this.Invoke) { ConsultaViewModel.ItemSelecionado = this.SelectedItem; } base.ToggleSnackBar("ITENS SALVOS COM SUCESSO", true); base.Alterar(false); keyValuePairs = null; } else { keyValuePairs = keyValuePairs1; } item1 = null; keyValuePairs1 = null; return keyValuePairs; } public async void Seleciona(Item item) { base.Loading(true); await base.PermissaoTela(3); await this.SelecionaItem(item, true); base.Loading(false); } public async Task SelecionaItem(Item item, bool registrar = true) { if (item == null || this.LastAccessId != item.get_Id() || this.LastAccessTela != 9) { base.Mantido = false; this.Fabricantes = Recursos.Fabricantes; List nums = new List() { (long)5, (long)37 }; if (nums.Contains(this.Ramo.get_Id())) { this.CoberturaViewModel.Ramo = this.Ramo; if (this.CoberturaViewModel.CoberturasPadrao == null) { await this.CoberturaViewModel.SelectionaCoberturas(); } if (item == null || item.get_Id() == 0) { this.SelectedItem = null; this.CoberturaViewModel.Coberturas = null; base.IsVisible = Visibility.Visible; } else { base.Loading(true); item = await this._itemServico.BuscarItemPorIdAsync(item.get_Id()); Item item1 = item; Auto auto = await this._itemServico.BuscaAuto(item.get_Id()); item1.set_Auto(auto); item1 = null; this.SelectedItem = item; this.SelectedItem.Initialize(); this.Initialized = true; this.WorkOnSelectedAuto(this.SelectedItem.get_Auto()); this.CoberturaViewModel.Item = item; await this.CoberturaViewModel.CancelarAlteracao(); if (registrar) { string str = string.Concat("ACESSOU ITEM DE DESCRIÇÃO \"", this.SelectedItem.get_Descricao(), "\""); long id = this.SelectedItem.get_Id(); TipoTela? nullable = new TipoTela?(3); object[] objArray = new object[] { this.SelectedItem.get_Id(), this.SelectedItem.get_Documento().get_Id(), this.SelectedItem.get_Documento().get_Controle().get_Ramo().get_Nome(), this.SelectedItem.get_Documento().get_Controle().get_Cliente().get_Nome(), this.SelectedItem.get_Documento().get_Controle().get_Cliente().get_Id() }; base.RegistrarAcao(str, id, nullable, string.Format("ID ITEM: {0}\nID DOCUMENTO: {1}\nRAMO: {2}\nCLIENTE: {3}\nID CLIENTE: {4}", objArray)); } this.LastAccessId = this.SelectedItem.get_Id(); this.LastAccessTela = 3; this.CodigoItem = this.SelectedItem.get_Id().ToString(); this.UsoVeiculo = this.SelectedItem.get_Auto().get_UsoVeiculo(); this.Categoria = this.SelectedItem.get_Auto().get_Categoria(); base.Loading(false); } } } } public async void Substituir(Item item) { base.ItemSubstituido = item; await this.Incluir(true); } public async Task>> Validate() { List> keyValuePairs; List> keyValuePairs1 = new List>(); if (!string.IsNullOrEmpty(this.SelectedItem.get_Auto().get_Chassi())) { List configuracoes = Recursos.Configuracoes; if (!configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 26)) { Documento documento = await (new AutoServico()).BuscarAuto(this.SelectedItem.get_Auto().get_Chassi(), this.SelectedItem.get_Auto().get_Id(), this.SelectedItem.get_Documento().get_Vigencia1(), this.SelectedItem.get_Documento().get_Vigencia2(), this.SelectedItem.get_Documento().get_Controle().get_Seguradora().get_Id()); if (documento == null) { keyValuePairs = keyValuePairs1; } else if (this.AllowAlterarExcluir || this.SelectedItem.get_Documento().get_Controle().get_Id() != documento.get_Controle().get_Id()) { List> keyValuePairs2 = keyValuePairs1; string[] apolice = new string[] { "CHASSI JÁ CADASTRADO NA APÓLICE ", documento.get_Apolice(), " DO CLIENTE ", documento.get_Controle().get_Cliente().get_Nome(), "." }; keyValuePairs2.Add(new KeyValuePair("Chassi", string.Concat(apolice))); keyValuePairs = keyValuePairs1; } else { keyValuePairs = keyValuePairs1; } } else { keyValuePairs = keyValuePairs1; } } else { keyValuePairs = keyValuePairs1; } keyValuePairs1 = null; return keyValuePairs; } public async Task>> Validate(Item item) { List> keyValuePairs; List> keyValuePairs1 = new List>(); if (!string.IsNullOrEmpty(item.get_Auto().get_Chassi())) { List configuracoes = Recursos.Configuracoes; if (!configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 26)) { Documento documento = await (new AutoServico()).BuscarAuto(item.get_Auto().get_Chassi(), item.get_Auto().get_Id(), item.get_Documento().get_Vigencia1(), item.get_Documento().get_Vigencia2(), item.get_Documento().get_Controle().get_Seguradora().get_Id()); if (documento == null) { keyValuePairs = keyValuePairs1; } else if (this.AllowAlterarExcluir || item.get_Documento().get_Controle().get_Id() != documento.get_Controle().get_Id()) { List> keyValuePairs2 = keyValuePairs1; string[] apolice = new string[] { "CHASSI JÁ CADASTRADO NA APÓLICE ", documento.get_Apolice(), " DO CLIENTE ", documento.get_Controle().get_Cliente().get_Nome(), "." }; keyValuePairs2.Add(new KeyValuePair("Chassi", string.Concat(apolice))); keyValuePairs = keyValuePairs1; } else { keyValuePairs = keyValuePairs1; } } else { keyValuePairs = keyValuePairs1; } } else { keyValuePairs = keyValuePairs1; } keyValuePairs1 = null; return keyValuePairs; } private void WorkOnSelectedAuto(Auto value) { if (value == null || value.get_Id() == 0) { return; } this.SelectedFabricante = this.Fabricantes.FirstOrDefault((Fabricante x) => { int? nullable; int id = x.get_Id(); Fabricante fabricante = value.get_Fabricante(); if (fabricante != null) { nullable = new int?(fabricante.get_Id()); } else { nullable = null; } int? nullable1 = nullable; return id == nullable1.GetValueOrDefault() & nullable1.HasValue; }); } } }