public AnotacaoFormViewModel CarregarAdicionarAnotacao(long?ocorrenciaId, long?atividadeId)
        {
            var retorno = new AnotacaoFormViewModel();

            if (ocorrenciaId != null)
            {
                var ocorrencia = _servicoOcorrencia.ObterPorId((long)ocorrenciaId);

                if (ocorrencia != null)
                {
                    retorno.OcorrenciaId     = ocorrencia.Id;
                    retorno.PessoaFisicaId   = ocorrencia.PessoaFisicaId;
                    retorno.PessoaJuridicaId = ocorrencia.PessoaJuridicaId;
                    retorno.AnotacaoTipos    =
                        new SelectList(_anotacaoTipoServico.ObterOcorrenciaTipoId(ocorrencia.OcorrenciasTiposId), "id",
                                       "nome");
                }
            }
            else if (atividadeId != null)
            {
                var atividade = _servicoAtividade.ObterPorId((long)atividadeId);
                if (atividade != null)
                {
                    retorno.OcorrenciaId        = atividade.OcorrenciaId;
                    retorno.PessoaFisicaId      = atividade.PessoasFisicasId;
                    retorno.PessoaJuridicaId    = atividade.PessoasJuridicasId;
                    retorno.PotenciaisClienteId = atividade.PotenciaisClientesId;
                    retorno.AnotacaoTipos       = new SelectList(_anotacaoTipoServico.ObterPadrao(), "id", "nome");
                }
            }

            return(retorno);
        }
        public AnotacaoFormViewModel Salvar(AnotacaoFormViewModel viewModel)
        {
            var anotacao = new Anotacao(viewModel.Texto, viewModel.CriarPorUserId, viewModel.OcorrenciaId,
                                        viewModel.AtividadeId, viewModel.PessoaFisicaId, viewModel.PessoaJuridicaId,
                                        viewModel.PotenciaisClienteId, viewModel.AcompanhamentoOcorrencia, viewModel.AnotacaoTipoId);
            var resultado = _servicoAnotacao.Adicionar(anotacao);

            if (resultado.IsValid)
            {
                if (viewModel.SolicitarLigacao)
                {
                    resultado = _servicoAtividade.AdicionarSolicitacaoLigacaoCorretor((long)viewModel.OcorrenciaId,
                                                                                      viewModel.CriarPorUserId, viewModel.Texto);
                }

                /// Adicionado em 18/09/17, troca de regra no vínculo da Ocorrência com o Atendimento.
                if (viewModel.AtendimentoId != null && viewModel.OcorrenciaId != null)
                {
                    _servicoAtendimentoOcorrencia.Adicionar((long)viewModel.AtendimentoId,
                                                            (long)viewModel.OcorrenciaId);
                }
            }

            viewModel.ValidationResult = resultado;
            return(viewModel);
        }