public bool ProcessEpgArchive(string epgArchive)
        {
            try
            {
                var archiveExtension = GetArchiveExtension(epgArchive);

                if (!string.IsNullOrEmpty(archiveExtension))
                {
                    Console.WriteLine("Unpacking EPG File");
                    ZipManager = new ZipArchiveManager();
                    ZipManager.OutputDirectoryPath = EPG_Parser_Config.LocalWorkingDirectory;
                    ZipManager.FullEpgPackagePath  = epgArchive;
                    ZipManager.CanArchive          = EpgArchive.EnableArchive;
                    ZipManager.EpgArchiveDirectory = EpgArchive.EpgArchiveDirectory;

                    ZipManager.CleanExtractionDirectory();

                    switch (archiveExtension)
                    {
                    case ".zip":
                        ZipManager.ExtractZipFile();
                        break;

                    case ".gz":
                        ZipManager.ExtractGzipFile();
                        break;

                    case ".tar":
                        ZipManager.ExtractTarFile();
                        break;

                    case ".tar.gz":
                        ZipManager.ExtractTarGzFile();
                        break;
                    }

                    return(ZipManager.OperationsSuccessful);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(false);
        }
예제 #2
0
        // POST api/values
        public IHttpActionResult Post([FromBody] ZipArchiveViewModel zipvm)
        {
            try
            {
                string retVal = "";

                SecurityManager secMgr  = new SecurityManager();
                string          decText = secMgr.Decrypt(zipvm.ArchiveHirachy);

                ZipArchive z = new ZipArchive()
                {
                    ArchiveHirachy = decText,
                    ArchiveName    = zipvm.ArchiveName,
                    SavedFileName  = zipvm.SavedFileName,
                    SavedDateTime  = DateTime.Now
                };

                ZipArchiveManager mgr = new ZipArchiveManager();
                bool res = mgr.SaveZipArchive(z);
                if (res)
                {
                    retVal = "Successfully Uploaded.";
                    return(Ok <string>(retVal));
                }
                else
                {
                    retVal = "File Upload Failed.";
                    return(BadRequest(retVal));
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message, ex);
                return(BadRequest(ex.Message));
            }
        }