Ejemplo n.º 1
0
        public async Task <IActionResult> Finalizar(int id)
        {
            var solicitacao = await solicitacaoRepositorio.BuscarSolicitacao(id);

            var modelo = new ListarPrecoDaSolicitacaoViewModel(solicitacao);

            ViewBag.ReturnUrl = $"/Solicitacao/Finalizar/{id}";
            return(View(modelo));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> EnviarArquivo(IList <IFormFile> arquivos)
        {
            int totalDeCaracteres         = 0;
            int quantidadeDeCaracteres    = 0;
            var documentos                = new List <Documento>();
            var listaDeDocumentosParaView = new List <DocumentoContadoViewModel>();
            var solicitacao               = await solicitacaoRepositorio.BuscarSolicitacao(1);

            try
            {
                foreach (IFormFile source in arquivos)
                {
                    using (MemoryStream output = new MemoryStream())
                    {
                        if (Models.Configuration.Documento.ValidarImagem(source.ContentType))
                        {
                            source.CopyTo(output);
                            quantidadeDeCaracteres = leitorDeImagem.Executar(output);
                            totalDeCaracteres     += quantidadeDeCaracteres;
                        }

                        if (Models.Configuration.Documento.ValidarPdf(source.ContentType))
                        {
                            source.CopyTo(output);
                            quantidadeDeCaracteres = leitorDePdf.Executar(source.FileName, output);
                            totalDeCaracteres     += quantidadeDeCaracteres;
                        }

                        var documento         = new Documento(source.ContentType, output.ToArray(), quantidadeDeCaracteres);
                        var documentoParaView = new DocumentoContadoViewModel()
                        {
                            DocumentoId = documento.Id.ToString(), QuantidadeDeCaracteres = documento.QuantidadeDeCaracteres, NomeDoArquivo = source.FileName
                        };

                        solicitacao.AdicionarDocumento(documento);
                        listaDeDocumentosParaView.Add(documentoParaView);

                        documentos.Add(documento);
                        await documentoRepositorio.Adicionar(documento);
                    }
                }
                return(PartialView("_documentos", listaDeDocumentosParaView));
            }
            catch (Exception)
            {
                return(Json(null));
            }
        }