public JsonResult AddEditClinicaDocumentos(AdicionarClinicaDocumentosViewModel viewModel)
        {
            var requisicao = new AdicionarDocumentoEmUmaClinicaRequisicao
            {
                CodigoDaClinica = viewModel.CodigoDaClinica,
                CodigoDoResponsavel = User.ToPessoa().Usuario.Perfil.Grupo.Codigo,
                Nome = viewModel.Documento.FileName,
                Descricao = viewModel.Descricao,
                Documento = viewModel.Documento.InputStream,
                TipoDocumento = viewModel.TipoDocumento,
                DataDeVencimento = DateTime.Now,
                StatusDocumento = DocumentoStatus.Ativo
            };

            var resposta = _clinicaServicoDeAplicacao.AdicionarDocumentoEmUmaClinica(requisicao);

            return Json(new { resposta.Sucesso, resposta.Erros, Documento = resposta.Documento.ToViewModel() });
        }
        public AdicionarDocumentoEmUmaClinicaResposta AdicionarDocumentoEmUmaClinica(AdicionarDocumentoEmUmaClinicaRequisicao requisicao)
        {
            var resposta = new AdicionarDocumentoEmUmaClinicaResposta();
            try
            {
                var responsavel = _funcionarioRepositorio.ObterPor(requisicao.CodigoDoResponsavel);
                var clinica = _clinicaRepositorio.ObterPor(requisicao.CodigoDaClinica);
                var dataUpload = SystemTime.Now;

                var documento = new ClinicaDocumentos(responsavel, dataUpload, requisicao.TipoDocumento,
                                                      requisicao.Descricao, requisicao.Nome, requisicao.DataDeVencimento,
                                                      requisicao.StatusDocumento);
                documento.DataDeVencimento = requisicao.DataDeVencimento;
                clinica.AdicionarDocumento(documento);

                var repositorioDeArquivos = new RepositorioDeArquivos();
                repositorioDeArquivos.ArmazenarArquivo(requisicao.Documento, requisicao.Nome, dataUpload);

                resposta.Documento = documento;

                _unitOfWork.Commit();
                resposta.Sucesso = true;
            }
            catch (RegraException regraException)
            {
                resposta.Erros = regraException.Erros;
            }

            return resposta;
        }