public OcorrenciaFormViewModel Carregar(long?pessoaFisicaId, long?pessoaJuridicaId, long?atendimentoId, long?contratoId) { var listaOcorrenciaTipo = _servicoOcorrenciaTipo.ObterOcorrenciasPai().Where(w => w.Ativo); var listaContrato = _servicoContrato.ObterContratosNovaOcorrencia(pessoaFisicaId, pessoaJuridicaId); var viewDinamicaModel = _viewDinamicaAppServico.Carregar("OCORRENCIA", "padrão", null, null, true); var nomeCampoChave1 = _servicoConfiguracao.ObterNomeCampoChave1Ocorrencia(); var valorCampoChave1 = _servicoConfiguracao.ObterValorPadraoCampoChave1Ocorrencia(); var model = new OcorrenciaFormViewModel(listaOcorrenciaTipo, listaContrato, pessoaFisicaId, pessoaJuridicaId, null, atendimentoId, null, null, viewDinamicaModel, null, valorCampoChave1, nomeCampoChave1, string.IsNullOrEmpty(valorCampoChave1), contratoId); if (atendimentoId == null) { return(model); } var atendimento = _servicoAtendimento.ObterPorId((long)atendimentoId); model.NumeroProtocolo = atendimento.Protocolo; ///*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") // model.CarregadaEmIframe = true; return(model); }
public OcorrenciaFormViewModel CarregarListas(OcorrenciaFormViewModel viewModel, long?pessoaFisicaId, long?pessoaJuridicaId) { viewModel.ListaOcorrenciaTipo = _servicoOcorrenciaTipo.ObterOcorrenciasPai(); viewModel.ListaContrato = _servicoContrato.ObterContratosNovaOcorrencia(pessoaFisicaId, pessoaJuridicaId); return(viewModel); }
public OcorrenciaFormViewModel Adicionar(OcorrenciaFormViewModel model, string usuarioId) { var ocorrencia = OcorrenciaAdaptador.ParaDominioModelo(model); if (model.statusEntidadeID.HasValue) { ocorrencia.StatusEntidadesId = (long)model.statusEntidadeID; } else { var statusEntidades = _servicoStatusEntidade.ObterStatusEntidadeNovaOcorrencia(); if (statusEntidades.Any()) { ocorrencia.StatusEntidadesId = statusEntidades.FirstOrDefault().id; } else { model.ValidationResult.Add( new ValidationError( "Não foi possível cadastrar a Ocorrência, StatusEntidadeNovaOcorrencia não cadastrado")); return(model); } } _servicoOcorrencia.Adicionar(ocorrencia); model.OcorrenciaID = ocorrencia.Id; if (ocorrencia.Id > 0 && model.atendimentoID != null) { _servicoAtendimentoOcorrencia.Adicionar((long)model.atendimentoID, ocorrencia.Id); } if (ocorrencia.Id > 0) { //Inserir Ocorrência Endereço if (model.EnderecoProduto != null) { if (model.EnderecoProduto.LocaisTiposAtendimentoId != null) { var entidade = new OcorrenciaLocalTipoAtendimento(ocorrencia.Id, (int)model.EnderecoProduto.LocaisId, (int)model.EnderecoProduto.LocaisTiposAtendimentoId, model.EnderecoProduto.Logradouro, model.EnderecoProduto.Numero, model.EnderecoProduto.Cep, model.EnderecoProduto.Bairro, model.EnderecoProduto.CidadesId, model.criadoPorUserID, model.EnderecoProduto.Complemento); _servicoOcorrenciaLocalTipoAtendimento.Adicionar(entidade); } } //Campos Dinamicos if (model.ViewDinamica != null) { model.ViewDinamica.ChaveEntidadeId = ocorrencia.Id; _viewDinamicaAppServico.Atualizar(model.ViewDinamica, usuarioId); } } return(model); }
public OcorrenciaFormViewModel CarregarDadosMinhasOcorrencia(string userId) { var view = new OcorrenciaFormViewModel { dataInicio = DateTime.Now, dataFim = DateTime.Now, ListarOcorrenciaTipo = ListarOcorrenciaTipoOcorrencia(userId) }; return(view); }
public OcorrenciaFormViewModel Atualizar(OcorrenciaFormViewModel model, string usuarioId) { var ocorrencia = _servicoOcorrencia.ObterPorId((long)model.OcorrenciaID); ocorrencia.OcorrenciasTiposId = (long)model.ocorrenciasTiposID; ocorrencia.ContratoId = model.contratoID; ocorrencia.DecritivoDeAbertura = model.decritivoDeAbertura; ocorrencia.AtualizadoEm = DateTime.Now; ocorrencia.AtualizadoPorAspNetUserId = model.atualizadoPorAspNetUserID; var resultado = _servicoOcorrencia.Atualizar(ocorrencia); if (resultado.IsValid) { var ocorrenciaTipo = _servicoOcorrenciaTipo.ObterPorId(ocorrencia.OcorrenciasTiposId); if (model.LocalExcluido || (ocorrenciaTipo.VincularLocal == false)) { _servicoOcorrenciaLocalTipoAtendimento.DeletarTodosLocaisDaOcorrencia(ocorrencia.Id); } //Campos Dinamicos if (model.ViewDinamica != null) { model.ViewDinamica.ChaveEntidadeId = ocorrencia.Id; _viewDinamicaAppServico.Atualizar(model.ViewDinamica, usuarioId); } /// Inserir e/ou Atualizar Endereço Local if (model.EnderecoProduto != null) { if (model.EnderecoProduto.LocaisTiposAtendimentoId != null) { var entidade = new OcorrenciaLocalTipoAtendimento(ocorrencia.Id, (int)model.EnderecoProduto.LocaisId, (int)model.EnderecoProduto.LocaisTiposAtendimentoId, model.EnderecoProduto.Logradouro, model.EnderecoProduto.Numero, model.EnderecoProduto.Cep, model.EnderecoProduto.Bairro, model.EnderecoProduto.CidadesId, model.atualizadoPorAspNetUserID, model.EnderecoProduto.Complemento); _servicoOcorrenciaLocalTipoAtendimento.DeletarTodosLocaisDaOcorrencia(ocorrencia.Id); _servicoOcorrenciaLocalTipoAtendimento.Adicionar(entidade); } } } return(model); }
public OcorrenciaFormViewModel ObterOcorrenciasHistoricoCliente(long?pessoaFisicaId, long?pessoaJuridicaId) { var minhaLista = new List <OcorrenciaListaItemViewModel>(); var view = new OcorrenciaFormViewModel(); var listaOcorrencia = _servicoOcorrencia.BuscarOcorrenciasCliente(pessoaFisicaId, pessoaJuridicaId, null); var vincularOcorrenciaAtendimentoManual = _servicoConfiguracao.VincularOcorrenciaAtendimentoManual(); if (listaOcorrencia != null) { minhaLista.AddRange( listaOcorrencia.Select( ocorrencia => new OcorrenciaListaItemViewModel(ocorrencia, null, null, vincularOcorrenciaAtendimentoManual, false, pessoaFisicaId, pessoaJuridicaId, ocorrencia.Finalizada))); } view.ListaOcorrenciaCliente = minhaLista; return(view); }
public static Ocorrencia ParaDominioModelo(OcorrenciaFormViewModel model) { return(new Ocorrencia(Convert.ToInt32(model.ocorrenciasTiposID), model.decritivoDeAbertura, model.pessoaFisicaID, model.pessoaJuridicaID, model.contratoID, model.criadoPorUserID, model.CampoChave1, model.Previsao)); }
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 }); }