コード例 #1
0
        public async Task <HttpResponseMessage> ImportacaoFuncionarios(int codEleicao)
        {
            // Verifica se request contém multipart/form-data.
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            //Diretório App_Data, para salvar o arquivo temporariamente
            string root     = HttpContext.Current.Server.MapPath("~/App_Data");
            var    provider = new MultipartFormDataStreamProvider(root);

            // Lê o arquivo da requisição assincronamente
            await Request.Content.ReadAsMultipartAsync(provider);

            ImportacaoOleDB imp = new ImportacaoOleDB(provider.FileData[0].LocalFileName, usuariosService.GetUsuario(User.Identity.Name));

            try
            {
                imp.ExecutarImportacaoGestores();
                List <InconsistenciaFuncionarioDTO> inconsistencias = imp.ExecutarImportacaoFuncionarios(codEleicao);
                File.Delete(provider.FileData[0].LocalFileName);
                //if (inconsistencias != null && inconsistencias.Count > 0) return Request.CreateResponse(HttpStatusCode.Accepted, inconsistencias);
            } catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e.Message));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
コード例 #2
0
        public async Task <HttpResponseMessage> Upload()
        {
            // Check if the request contains multipart/form-data.
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            string root     = HttpContext.Current.Server.MapPath("~/App_Data");
            var    provider = new MultipartFormDataStreamProvider(root);

            await Request.Content.ReadAsMultipartAsync(provider);

            foreach (MultipartFileData file in provider.FileData)
            {
                try
                {
                    /*if (!int.TryParse(provider.FormData.Get("mes"), out int idMesRateio))
                     *  return Request.CreateResponse(HttpStatusCode.BadRequest);*/

                    ImportacaoOleDB imp = new ImportacaoOleDB(file.LocalFileName, User);
                    imp.ExecutarImportacao();

                    db.Importacao.Add(new Importacao
                    {
                        DataHora     = DateTime.Now,
                        LoginUsuario = User.Identity.Name,
                        NomeArquivo  = file.Headers.ContentDisposition.FileName.Replace("\"", ""),
                        Arquivo      = File.ReadAllBytes(file.LocalFileName)
                    });
                    db.SaveChanges();
                    //File.Delete(file.LocalFileName);
                }
                catch (Exception e)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message));
                } finally
                {
                    File.Delete(file.LocalFileName);
                }
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }