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);
 }