public EnderecoProdutoViewModel Pesquisar(EnderecoProdutoViewModel model) { model.ListaPesquisaLocal = new List <LocalListaViewModel>(); if (model.SegmentoID == null) { return(model); } var segmento = _servicoCampoDinamicoOpcao.ObterPorId((long)model.SegmentoID); if (segmento == null) { return(model); } var locais = _servicoLocal.Pesquisar(segmento.Nome, (double)model.Latitude, (double)model.Longitude); var locaisLista = new List <LocalListaViewModel>(); if (locais != null) { locaisLista.AddRange(locais.Select(local => new LocalListaViewModel(local))); } model.ListaPesquisaLocal = locaisLista; return(model); }
public EnderecoProdutoViewModel ObterLocalTiposAtendimento(EnderecoProdutoViewModel model) { //Mudar if (model.LocalID == null) { return(model); } var local = _servicoLocal.ObterPorId((long)model.LocalID); model.EnderecoLocal = local.nome.ToUpper(); model.LocalTipoAtendimento = new LocaTipoAtendimentoViewModel(local.id, _servicoLocalAtendimentoTipo.ObterLocalTiposAtendimentoPorLocalId(local.id)); return(model); }
public LocalOcorrenciaViewModel ObterEnderecoEntidadeSelecionada(EnderecoProdutoViewModel model) { var retorno = new LocalOcorrenciaViewModel(); if (model.EnderecoID != null) { long entidadeId; var tipoEntidade = model.EnderecoID.Substring(0, 2); long.TryParse(model.EnderecoID.Substring(3, (model.EnderecoID.Length - 3)), out entidadeId); var segmentos = _servicoCampoDinamicoOpcao.ObterPor("CTRPRODUT", "Padrão", "DL", "Segmento"); long? segmentoId = null; string cidade = "", estado = ""; //double latitude, longitude; if (model.ContratoID != null) { var valorPreenchido = _servicoCampodDinamicoPreenchido.ObterCampoDinamicoPreenchido("CTRPRODUT", "Padrão", "Segmento", (long)model.ContratoID); if (valorPreenchido != null) { segmentoId = valorPreenchido.CamposDinamicosOpcoesId; } } retorno.SegmentoId = segmentoId; retorno.ListaSegmentos = new SelectList(segmentos, "id", "nome"); var chaveGoogleApi = Chave(); if (!chaveGoogleApi) { retorno.ValidationResult.Add(new ValidationError(_chaveGoogleApi)); return(retorno); } DadosEnderecoGoogle retornoEnderecoGoogleApi; switch (tipoEntidade.ToLower()) { case "pf": var pessoaFisica = _servicoPessoaFisica.ObterPorId(entidadeId); if (pessoaFisica.CidadeId != null) { var Cidade = _servicoCidade.ObterPorId((long)pessoaFisica.CidadeId); if (Cidade != null) { cidade = Cidade.Nome; estado = Cidade.Uf; } } retornoEnderecoGoogleApi = GoogleAPI.ObterLatitudeLongitudePorEndereco(_chaveGoogleApi, pessoaFisica.CodigoPostal, pessoaFisica.Logradouro, pessoaFisica.Numero, pessoaFisica.Bairro, cidade, estado); //latitude = GoogleAPI.ObterLatitudeLongitudePorEndereco(_chaveGoogleApi, // pessoaFisica.CodigoPostal, pessoaFisica.Logradouro, pessoaFisica.Numero, pessoaFisica.Bairro, // cidade, estado, out longitude); if (retornoEnderecoGoogleApi.ValidationResult.IsValid && retornoEnderecoGoogleApi.Enderecos.Any()) { retorno.EnderecoProdutoViewModel = new EnderecoProdutoViewModel(model, pessoaFisica, cidade, estado, segmentos, segmentoId, retornoEnderecoGoogleApi.Enderecos.FirstOrDefault().Latidude.Value, retornoEnderecoGoogleApi.Enderecos.FirstOrDefault().Longitude.Value); } else { retorno.ValidationResult = retornoEnderecoGoogleApi.ValidationResult; } break; case "pj": var pessoaJuridica = _servicoPessoaJuridica.ObterPorId(entidadeId); if (pessoaJuridica.CidadeId != null) { var Cidade = _servicoCidade.ObterPorId((long)pessoaJuridica.CidadeId); if (Cidade != null) { cidade = Cidade.Nome; estado = Cidade.Uf; } } retornoEnderecoGoogleApi = GoogleAPI.ObterLatitudeLongitudePorEndereco(_chaveGoogleApi, pessoaJuridica.CodigoPostal, pessoaJuridica.Logradouro, pessoaJuridica.Numero, pessoaJuridica.Bairro, cidade, estado); //latitude = GoogleAPI.ObterLatitudeLongitudePorEndereco(_chaveGoogleApi, // pessoaJuridica.CodigoPostal, pessoaJuridica.Logradouro, pessoaJuridica.Numero, pessoaJuridica.Bairro, cidade, estado, out longitude); if (retornoEnderecoGoogleApi.ValidationResult.IsValid && retornoEnderecoGoogleApi.Enderecos.Any()) { retorno.EnderecoProdutoViewModel = new EnderecoProdutoViewModel(model, pessoaJuridica, cidade, estado, segmentos, segmentoId, retornoEnderecoGoogleApi.Enderecos.FirstOrDefault().Latidude.Value, retornoEnderecoGoogleApi.Enderecos.FirstOrDefault().Longitude.Value); } else { retorno.ValidationResult = retornoEnderecoGoogleApi.ValidationResult; } break; } } return(retorno); }
public OcorrenciaFormViewModel ObterPorId(long id, string userId, long?atendimentoId) { var ocorrencia = _servicoOcorrencia.ObterOcorrenciaCompletaPorId(id); if (ocorrencia != null) { var listaAnotacao = _servicoAnotacao.ObterPorOcorrenciaId(id); var listaContrato = _servicoContrato.ObterContratosNovaOcorrencia(ocorrencia.PessoaFisicaId, ocorrencia.PessoaJuridicaId); var ddLsOcorrenciaTipo = ObterOcorrenciaTipoDdlViewModel(ocorrencia.OcorrenciasTiposId); var ocorrenciaTipo = _servicoOcorrenciaTipo.ObterPorId(ocorrencia.OcorrenciasTiposId); var podeEditar = string.IsNullOrEmpty(ocorrencia.ResponsavelPorAspNetUserId) ? ocorrencia.CriadoPorUserId == userId : ocorrencia.ResponsavelPorAspNetUserId == userId; if (podeEditar) { if (ocorrencia.StatusEntidade != null) { if (ocorrencia.StatusEntidade.finalizador) { podeEditar = false; } } } var viewDinamicaModel = _viewDinamicaAppServico.Carregar("OCORRENCIA", "padrão", null, ocorrencia.Id, podeEditar); var statusEntidade = ocorrencia.StatusEntidadesId > 0 ? _servicoStatusEntidade.ObterPorId(ocorrencia.StatusEntidadesId) : null; //DateTime? previsao = null; //if (ocorrenciaTipo != null) //{ // if (ocorrenciaTipo.TempoPrevistoAtendimento > 0) // { // previsao = ocorrencia.CriadoEm.AddMinutes(ocorrenciaTipo.TempoPrevistoAtendimento); // } //} var usuarioFinalizador = string.Empty; if (!string.IsNullOrEmpty(ocorrencia.FinalizadoPorUserId)) { var finalizadoPor = _servicoUsuario.ObterPorUserId(ocorrencia.FinalizadoPorUserId); if (finalizadoPor != null) { usuarioFinalizador = finalizadoPor.Nome; } } var nomeCampoChave1 = _servicoConfiguracao.ObterNomeCampoChave1Ocorrencia(); var valorCampoChave1 = _servicoConfiguracao.ObterValorPadraoCampoChave1Ocorrencia(); var retorno = new OcorrenciaFormViewModel(null, listaContrato, ocorrencia, listaAnotacao, statusEntidade, atendimentoId, ddLsOcorrenciaTipo, null, ocorrenciaTipo.VincularLocal, viewDinamicaModel, podeEditar, ocorrencia.PrevisaoInicial, ocorrencia.CampoChave1, nomeCampoChave1, string.IsNullOrEmpty(valorCampoChave1), usuarioFinalizador); ///*Regra colocada em 25/10/2018 de forma emergencial para abrir ocorrência dentro de um iframe somente para a AIG....*/ //var tipoAberturaOcorrencia = _servicoConfiguracao.ObterTipoAberturaOcorrencia(); //if (tipoAberturaOcorrencia != null) // if (tipoAberturaOcorrencia.Valor == "IFRAME") // retorno.CarregadaEmIframe = true; //Carregar Local var local = _servicoLocal.ObterLocalPorOcorrenciaId(ocorrencia.Id); if (local == null) { return(retorno); } var nomeCidade = ""; var nomeEstado = ""; if (local.LocalOcorrencia.CidadesId != null) { var cidade = _servicoCidadeServico.ObterPorId((int)local.LocalOcorrencia.CidadesId); if (cidade != null) { nomeCidade = cidade.Nome; nomeEstado = cidade.Uf; } } var enderecoProduto = new EnderecoProdutoViewModel(local.LocalOcorrencia.Logradouro, local.LocalOcorrencia.Numero, local.LocalOcorrencia.Cep, local.LocalOcorrencia.Bairro, nomeCidade, nomeEstado, local.LocalOcorrencia.Complemento); var local2 = new LocalViewModel(local.nome, local.LocalTipo.Nome, local.logradouro, local.numero, local.bairro, local.cidade, local.estado, local.cep, local.telefone01, local.telefone02, local.telefone03, local.email01, local.email02, local.webSite, enderecoProduto.EnderecoCompleto, local.LocalOcorrencia.LocalTipoAtendimento.nome); retorno.Local = local2; return(retorno); } var validacaoRetorno = new ValidationResult(); validacaoRetorno.Add(new ValidationError("Nenhuma ocorrência encontrada com os parâmetros informados.")); return(new OcorrenciaFormViewModel { ValidationResult = validacaoRetorno }); }
public OcorrenciaFormViewModel CarregarVisualizar(long ocorrenciaId) { var ocorrencia = _servicoOcorrencia.ObterPorId(ocorrenciaId); if (ocorrencia != null) { var pessoaFisica = new PessoaFisica(); var pessoaJuridica = new PessoaJuridica(); var Cidade = new Cidade(); var statusEntidade = new StatusEntidade(); var viewModel = new OcorrenciaFormViewModel { OcorrenciaID = ocorrenciaId, OcorrenciaTiposXOcorrencia = _ocorrenciaTiposXOcorrenciaServico.ObterDadosOcorrenciaTiposXOcorrencia(ocorrenciaId), atualizadoEm = ocorrencia.AtualizadoEm, criadoEm = ocorrencia.CriadoEm, StatusEntidade = _servicoStatusEntidade.ObterPorId(ocorrencia.StatusEntidadesId) }; statusEntidade = ocorrencia.StatusEntidadesId > 0 ? _servicoStatusEntidade.ObterPorId(ocorrencia.StatusEntidadesId) : null; viewModel.StatusEntidade = statusEntidade; viewModel.criadoEm = ocorrencia.CriadoEm; viewModel.atualizadoEm = ocorrencia.AtualizadoEm; if (ocorrencia.PessoaFisicaId != null) { pessoaFisica = _servicoPessoaFisica.ObterPorId((long)ocorrencia.PessoaFisicaId); if (pessoaFisica.CidadeId != null) { Cidade = _servicoCidadeServico.ObterPorId((long)pessoaFisica.CidadeId); } _cliente = new ClientePerfilViewModel(pessoaFisica, "", Cidade, false); pessoaJuridica = null; } else if (ocorrencia.PessoaJuridicaId != null) { pessoaJuridica = _servicoPessoaJuridica.ObterPorId((long)ocorrencia.PessoaJuridicaId); if (pessoaJuridica.CidadeId != null) { Cidade = _servicoCidadeServico.ObterPorId((long)pessoaJuridica.CidadeId); } _cliente = new ClientePerfilViewModel(pessoaJuridica, "", Cidade, false); pessoaFisica = null; } _cliente.Visualizar = true; viewModel.Cliente = _cliente; //Carregar Local var local = _servicoLocal.ObterLocalPorOcorrenciaId(ocorrencia.Id); if (local != null) { string nomeCidade = ""; string nomeEstado = ""; if (local.LocalOcorrencia.CidadesId != null) { var cidade = _servicoCidadeServico.ObterPorId((int)local.LocalOcorrencia.CidadesId); if (cidade != null) { nomeCidade = cidade.Nome; nomeEstado = cidade.Uf; } } var enderecoProduto = new EnderecoProdutoViewModel(local.LocalOcorrencia.Logradouro, local.LocalOcorrencia.Numero, local.LocalOcorrencia.Cep, local.LocalOcorrencia.Bairro, nomeCidade, nomeEstado, local.LocalOcorrencia.Complemento); var local2 = new LocalViewModel(local.nome, local.LocalTipo.Nome, local.logradouro, local.numero, local.bairro, local.cidade, local.estado, local.cep, local.telefone01, local.telefone02, local.telefone03, local.email01, local.email02, local.webSite, enderecoProduto.EnderecoCompleto, local.LocalOcorrencia.LocalTipoAtendimento.nome); viewModel.Local = local2; } return(viewModel); } var validacaoRetorno = new ValidationResult(); validacaoRetorno.Add(new ValidationError("Nenhuma ocorrência encontrada com os parâmetros informados.")); return(new OcorrenciaFormViewModel { ValidationResult = validacaoRetorno }); }