public async Task <IActionResult> Create([Bind("Id,Judul,Tanggal,Path,Source,FImage,Kategori,Tag,Penulis,Status,DriveId,Parents")] KonsultasiInfografis infografis, IFormFile file)
        {
            if (ModelState.IsValid)
            {
                infografis.Tanggal = DateTime.Now;
                if (infografis.FImage != null)
                {
                    infografis.FImage = infografis.FImage.Replace("file/d/", "uc?id=");
                    infografis.FImage = infografis.FImage.Replace("/view?usp=sharing", "");
                }
                if (infografis.FImage == null)
                {
                    infografis.FImage = "/uploads/image/general/pdf.png";
                }
                if (infografis.Penulis == null)
                {
                    infografis.Penulis = "admin";
                }
                infografis.Status = 1;

                DriveService service      = driveService.GetService();
                var          folderId     = "1IUnzUF1JzKD8ZBoUHRftA67YYbk_3akr";
                string       path         = Path.GetTempFileName();
                var          fileMetadata = new Google.Apis.Drive.v3.Data.File()
                {
                    Name    = Path.GetFileName(file.FileName),
                    Parents = new List <string>
                    {
                        folderId
                    }
                };
                FilesResource.CreateMediaUpload request;

                using (var stream = new System.IO.FileStream(path, System.IO.FileMode.Open))
                {
                    await file.CopyToAsync(stream);

                    request = service.Files.Create(
                        fileMetadata, stream, "application/pdf");
                    request.Fields = "id";
                    request.Upload();
                }
                var fileUploaded = request.ResponseBody;
                infografis.DriveId = fileUploaded.Id;
                infografis.Source  = "https://drive.google.com/uc?id=" + fileUploaded.Id;
                infografis.Judul   = file.FileName;
                infografis.Parents = folderId;

                _context.Add(infografis);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(List)));
            }
            return(View(infografis));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Judul,Tanggal,Path,Source,FImage,Kategori,Tag,Penulis,Status,DriveId,Parents")] KonsultasiInfografis infografis, IFormFile file)
        {
            if (id != infografis.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    DriveService service      = driveService.GetService();
                    var          folderId     = "1aB_0pJ9qsHjP3DhOERmWacA2Mn1jDW7H";
                    string       path         = Path.GetTempFileName();
                    var          fileMetadata = new Google.Apis.Drive.v3.Data.File()
                    {
                        Name    = Path.GetFileName(file.FileName),
                        Parents = new List <string>
                        {
                            folderId
                        }
                    };
                    FilesResource.CreateMediaUpload request;

                    using (var stream = new System.IO.FileStream(path, System.IO.FileMode.Open))
                    {
                        await file.CopyToAsync(stream);

                        request = service.Files.Create(
                            fileMetadata, stream, "image/jpeg");
                        request.Fields = "id";
                        request.Upload();
                    }
                    var fileUploaded = request.ResponseBody;
                    infografis.FImage = "https://drive.google.com/uc?id=" + fileUploaded.Id;

                    infografis.Tanggal = DateTime.Now;
                    if (infografis.FImage != null)
                    {
                        infografis.FImage = infografis.FImage.Replace("file/d/", "uc?id=");
                        infografis.FImage = infografis.FImage.Replace("/view?usp=sharing", "");
                    }
                    if (infografis.Penulis == null)
                    {
                        infografis.Penulis = "admin";
                    }
                    _context.Update(infografis);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!InfografisExists(infografis.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(List)));
            }
            return(View(infografis));
        }