Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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!");
            }
        }