public AdicionarAnexoEmTreinamentoResposta AdicionarAnexoEmTreinamento(AdicionarAnexoEmTreinamentoRequisicao requisicao)
        {
            var resposta = new AdicionarAnexoEmTreinamentoResposta();

            try
            {
                var treinamento = _treinamentoRepositorio.ObterPor(requisicao.CodigoDoTreinamento);
                var dataUpload  = SystemTime.Now;
                var anexo       = new Arquivo(requisicao.Descricao, requisicao.Nome, dataUpload);
                treinamento.AdicionarAnexo(anexo);

                var repositorioDeArquivos = new RepositorioDeArquivos();
                repositorioDeArquivos.ArmazenarArquivo(requisicao.Arquivo, requisicao.Nome, dataUpload);
                resposta.Anexo = anexo;

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

            return(resposta);
        }
        public JsonResult AddEditAnexoTreinamento(HttpPostedFileBase arquivo, string descricao, int codigoDoTreinamento)
        {
            var requisicao = new AdicionarAnexoEmTreinamentoRequisicao
            {
                CodigoDoTreinamento = codigoDoTreinamento,
                Descricao           = descricao,
                Arquivo             = arquivo.InputStream,
                Nome = arquivo.FileName
            };
            var resposta = _treinamentoServicoDeAplicacao.AdicionarAnexoEmTreinamento(requisicao);

            return(Json(resposta));
        }