Exemplo n.º 1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Effie2017.App.Gen_GeneralUseValue test = Effie2017.App.Gen_GeneralUseValue.GetGen_GeneralUseValue(new Guid("d3be68f0-bb7a-4bd3-89a6-3914b4d902fb"));
     test.Value = "3";
     test.Save();
 }
Exemplo n.º 2
0
        public static void GetAllFiles()
        {
            //Last Sync System
            CultureInfo cultureInfo = new CultureInfo("en-US");

            Effie2017.App.Gen_GeneralUseValueList generalUseValueList = Effie2017.App.Gen_GeneralUseValueList.GetGen_GeneralUseValueList("AWSLastSync");
            DateTime lastSyncDateTime = Convert.ToDateTime(generalUseValueList[0].Value);
            DateTime nowSyncDateTime  = DateTime.Now;

            //END Last Sync System

            #region Log "Result Check - START"
            logClass = new Log();
            logClass.Begin();
            logClass.WriteLog("----------------------------------------------");
            logClass.WriteLog("...Started Reading Videos...");
            logClass.WriteLog("----------------------------------------------");
            #endregion

            List <FileInfo> sortedFiles = new List <FileInfo>();

            DateTime latestProgramRunDate = GetLatestProgramDate();
            int      maximumFilesToRead   = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["MaximumFiles"].ToString());

            //var entryList = EntryList.GetEntryList(Guid.Empty, Guid.Empty, "", StatusEntry.Completed)
            //                .Where(m => m.DateSubmitted > latestProgramRunDate && m.DateSubmitted > Convert.ToDateTime(System.Configuration.ConfigurationSettings.AppSettings["Extended_2_CutOff"])).Take(maximumFilesToRead)
            //                .OrderBy(m => m.DateSubmitted).ToList();
            var entryList = EntryList.GetEntryList(Guid.Empty, Guid.Empty, "")
                            .Take(maximumFilesToRead)
                            .OrderBy(m => m.DateSubmitted).ToList();

            //Check List
            int c = 0;
            foreach (Entry en in entryList)
            {
                c++;

                logClass.WriteLog(c.ToString() + ": " + en.Serial);
            }
            //End Check List

            var videFileList = new DirectoryInfo(System.Configuration.ConfigurationSettings.AppSettings["VideosFileFolder"].ToString()).GetFiles().ToList();

            c = 0;
            foreach (FileInfo file in videFileList)
            {
                c++;
                logClass.WriteLog(c.ToString() + ": " + file.Name + "=>" + file.Name.Split('_')[0]);

                string entryId = file.Name.Split('_')[0];

                Entry entry = null;

                try
                {
                    entry = entryList.FirstOrDefault(m => m.Serial.Equals(entryId));
                }
                catch {}

                if (entry != null && entry.MaterialsSubmitted != "" && DateTime.Parse(entry.MaterialsSubmitted, cultureInfo) >= lastSyncDateTime)
                {
                    file.LastAccessTime = entry.DateSubmitted;

                    sortedFiles.Add(file);
                }
            }

            sortedFiles = sortedFiles.OrderBy(m => m.LastAccessTime).ToList();

            //sortedFiles = new DirectoryInfo(System.Configuration.ConfigurationSettings.AppSettings["VideosFileFolder"].ToString()).GetFiles().Where(m => m.LastWriteTime > latestProgramRunDate)
            //                                      .OrderBy(f => f.LastWriteTime).Take(maximumFilesToRead)
            //                                      .ToList();


            int counter = 0;
            foreach (FileInfo file in sortedFiles)
            {
                string fileSize = (file.Length / 1048576).ToString("N");

                logClass.WriteLog("Uploading Video : " + file.Name + " FileSize :" + fileSize + " MB");

                UploadFileToAmazonS3(file.OpenRead(), System.Configuration.ConfigurationSettings.AppSettings["AWSBucket_Original"], file.Name);

                if (FileExistsInAmazonS3(System.Configuration.ConfigurationSettings.AppSettings["AWSBucket_Small"], file.Name))
                {
                    DeleteFileInAmazonS3(System.Configuration.ConfigurationSettings.AppSettings["AWSBucket_Small"], file.Name);
                }

                if (file.Length < Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["MaximumCutOffSize"]))
                {
                    logClass.WriteLog("Copying Video : " + file.Name);
                    CopyFilesFromBucketToBucket(System.Configuration.ConfigurationSettings.AppSettings["AWSBucket_Original"], file.Name, System.Configuration.ConfigurationSettings.AppSettings["AWSBucket_Small"], file.Name);
                }
                else if (file.Length >= Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["MaximumCutOffSize"]))
                {
                    logClass.WriteLog("Transcoding Video : " + file.Name);
                    ConvertHDtoLD_Video(file.Name, System.Configuration.ConfigurationSettings.AppSettings["AWSPipeLineID"], System.Configuration.ConfigurationSettings.AppSettings["AWSPresetID"]);
                }

                logClass.WriteLog("Updating Setting File");


                using (FileStream stream = new FileStream(System.Configuration.ConfigurationSettings.AppSettings["SettingsFilePath"].ToString(), FileMode.Create))
                    using (TextWriter writer = new StreamWriter(stream))
                    {
                        writer.WriteLine(file.LastAccessTime.ToString("MM/dd/yyyy hh:mm:ss tt"));
                    }



                counter++;

                logClass.WriteLog("No of Videos processed : " + counter);
            }

            //Update Last Sync System
            Effie2017.App.Gen_GeneralUseValue generalUseValue = Effie2017.App.Gen_GeneralUseValue.GetGen_GeneralUseValue(generalUseValueList[0].Id);
            generalUseValue.Value = nowSyncDateTime.ToString();
            generalUseValue.DateModifiedString = DateTime.Now.ToString();
            generalUseValue.Save();
            //END Update Last Sync System

            #region Log "Result Check - END"
            logClass.WriteLog("----------------------------------------------");
            logClass.WriteLog("...Finished Reading Videos...");
            logClass.WriteLog("----------------------------------------------");
            logClass.End();
            #endregion
        }