public Laudo GerarLaudoAPartirArquivo(Stream stream) { List <string> linhas = new List <string>(); using (StreamReader reader = new StreamReader(stream, System.Text.Encoding.UTF8)) { string linha; while ((linha = reader.ReadLine()) != null) { linhas.Add(linha); } reader.Close(); } var linhasArquivo = linhas.ToArray(); var referencia = ObterTexto(linhasArquivo[REFERENCIA], 30); var textoSolicitante = linhasArquivo[SOLICITANTE].Trim() + linhasArquivo[SOLICITANTE2].Trim(); Laudo laudo = LaudoRepository.ObterPorReferencia(UnitOfWork, referencia) ?? new Laudo { Referencia = referencia, Solicitante = ObterSolicitante(textoSolicitante), Produto = ProdutoRepositorio.ObterPorCodigo(UnitOfWork, ObterNumero(linhasArquivo[PRODUTO], 3)), Linha = LinhaRepositorio.ObterPorCodigo(UnitOfWork, ObterNumero(linhasArquivo[LINHA], 3)), Fonte = FonteRepositorio.ObterPorCodigo(UnitOfWork, ObterNumero(linhasArquivo[FONTE], 3)), Status = (int)EnumStatusLaudo.Importado, FormaTerreno = (int)EnumFormaTerreno.Retangular, InclinacaoTerreno = (int)EnumInclinacaoTerreno.Plano, SituacaoTerreno = (int)EnumSituacaoTerreno.MeioQuadra, SuperficieTerreno = (int)EnumSuperficieTerreno.Seco, FracaoIdealTerreno = 0.000000f, AceitoComoGarantia = (int)EnumGarantiaSimOuNao.GarSim, EstabilidadeSolidez = (int)EnumEstabilidadeSimOuNao.EstSim, Habitabilidade = (int)EnumHabitabilidadeSimOuNao.HabitSim, ViciosConstrucao = (int)EnumVicioSimOuNao.VicioNao, FatoresLiquidezValorImovel = (int)EnumFatoresLiquidezValorImovel.Nenh, ConformidadeDocumentacao = (int)EnumConformidadeDocumentacaoSimOuNao.DocSim }; laudo.Imovel = GerarImovelAPartirArquivo(linhasArquivo); return(laudo); }
private LaudoViewModel PreencherViewModel(Laudo laudo) { var opcoesHelper = new OpcoesHelper(laudo); var viewModel = new LaudoViewModel { Laudo = laudo, LaudoId = laudo.LaudoID, StatusLaudo = ((EnumStatusLaudo)laudo.Status).ToString(), MetodoDefinicaoValor = RadioButtonHelper.ParseEnumToRadioButtonList((EnumMetodoDefinicaoValor)laudo.MetodoDefinicaoValor), DesempenhoMercado = RadioButtonHelper.ParseEnumToRadioButtonList((EnumDesempenhoMercado)laudo.DesempenhoMercado), AbsorcaoMercado = RadioButtonHelper.ParseEnumToRadioButtonList((EnumAbsorcaoMercado)laudo.AbsorcaoMercado), NumeroOfertas = RadioButtonHelper.ParseEnumToRadioButtonList((EnumNivelImobiliario)laudo.NivelOfertas), NivelDemanda = RadioButtonHelper.ParseEnumToRadioButtonList((EnumNivelImobiliario)laudo.NivelDemanda), FatoresLiquidezValorImovel = RadioButtonHelper.ParseEnumToRadioButtonList((EnumFatoresLiquidezValorImovel)laudo.FatoresLiquidezValorImovel), EstabilidadeSolidez = RadioButtonHelper.ParseEnumToRadioButtonList((EnumEstabilidadeSimOuNao)laudo.EstabilidadeSolidez), ViciosConstrucao = RadioButtonHelper.ParseEnumToRadioButtonList((EnumVicioSimOuNao)laudo.ViciosConstrucao), CondicoesHabitabilidade = RadioButtonHelper.ParseEnumToRadioButtonList((EnumHabitabilidadeSimOuNao)laudo.Habitabilidade), AceitoComoGarantia = RadioButtonHelper.ParseEnumToRadioButtonList((EnumGarantiaSimOuNao)laudo.AceitoComoGarantia), ConformidadeDocumentacao = RadioButtonHelper.ParseEnumToRadioButtonList((EnumConformidadeDocumentacaoSimOuNao)laudo.ConformidadeDocumentacao), // Identificação ListaEstados = opcoesHelper.ObterOpcoesEstado(EstadoRepositorio.BuscarTodos(WorkLifetimeManager.Value)), ListaCidades = opcoesHelper.ObterOpcoesCidade(CidadeRepositorio.BuscarTodasEstado(WorkLifetimeManager.Value, laudo.Imovel.Cidade.Estado.Sigla)), ListaTiposLogradouro = opcoesHelper.ObterOpcoesTipoLogradouro(TipoLogradouroRepositorio.BuscarTodos(WorkLifetimeManager.Value)), ListaFontes = opcoesHelper.ObterOpcoesFonte(FonteRepositorio.BuscarTodos(WorkLifetimeManager.Value)), ListaLinhas = opcoesHelper.ObterOpcoesLinha(LinhaRepositorio.BuscarTodos(WorkLifetimeManager.Value)), ListaProdutos = opcoesHelper.ObterOpcoesProduto(ProdutoRepositorio.BuscarTodos(WorkLifetimeManager.Value)), // Caracterização da Região ListaServicosPublicosComunitarios = opcoesHelper.ObterOpcoesEnum <EnumServicoPublicoComunitario>(), ListaInfraEstruturasUrbanas = opcoesHelper.ObterOpcoesEnum <EnumInfraEstruturaUrbana>(), // Final ListaComarcas = opcoesHelper.ObterOpcoesCidade(CidadeRepositorio.BuscarTodasEstado(WorkLifetimeManager.Value, laudo.Imovel.Cidade.Estado.Sigla)), ListaResponsaveisTecnicos = opcoesHelper.ObterOpcoesResponsaveisTecnicos(UsuarioRepositorio.BuscarPorPerfil(WorkLifetimeManager.Value, EnumPerfil.UsuarioComum)), ListaRepresentantesLegais = opcoesHelper.ObterOpcoesRepresentantesLegais(UsuarioRepositorio.BuscarPorPerfil(WorkLifetimeManager.Value, EnumPerfil.Administrador)), }; MarcarServicosPublicosComunitarios(viewModel.ListaServicosPublicosComunitarios, laudo.ListaServicoPublicoComunitario); MarcarInfraEstruturasUrbanas(viewModel.ListaInfraEstruturasUrbanas, laudo.ListaInfraEstruturaUrbana); if (laudo.DataHoraVistoria.HasValue) { viewModel.DataVistoria = laudo.DataHoraVistoria.Value.Date.ToString("dd/MM/yyyy"); viewModel.HoraVistoria = laudo.DataHoraVistoria.Value.ToString("HH:mm"); } return(viewModel); }
public string Importar(HttpPostedFileBase fileData, FormCollection forms, string tipo) { try { var openXmlHelper = new OpenXmlHelper(); var memoryStream = new MemoryStream(); fileData.InputStream.CopyTo(memoryStream); var listaDados = openXmlHelper.LerPlanilhaDados(memoryStream); int codigo = 0; tipo = tipo.Substring(0, tipo.IndexOf('?')); switch (EnumHelper.ParseEnumDescription <EnumTipoImportacao>(tipo)) { case EnumTipoImportacao.Fonte: FonteRepositorio.ExcluirTudo(WorkLifetimeManager.Value); foreach (var item in listaDados) { Int32.TryParse(item[0].ToString(), out codigo); FonteRepositorio.Salvar(WorkLifetimeManager.Value, new Fonte { Codigo = codigo, Descricao = item[1].ToString() }); } break; case EnumTipoImportacao.Linha: LinhaRepositorio.ExcluirTudo(WorkLifetimeManager.Value); foreach (var item in listaDados) { Int32.TryParse(item[0].ToString(), out codigo); LinhaRepositorio.Salvar(WorkLifetimeManager.Value, new Linha { Codigo = codigo, Descricao = item[1].ToString() }); } break; case EnumTipoImportacao.Produto: ProdutoRepositorio.ExcluirTudo(WorkLifetimeManager.Value); foreach (var item in listaDados) { Int32.TryParse(item[0].ToString(), out codigo); ProdutoRepositorio.Salvar(WorkLifetimeManager.Value, new Produto { Codigo = codigo, Descricao = item[1].ToString() }); } break; } WorkLifetimeManager.Value.Commit(); return("Dados importados com sucesso!"); } catch { WorkLifetimeManager.Value.Rollback(); return("Não foi possível importar os dados. Verifique a planilha e tente novamente!"); } }