private void InitAllByLocalPath()
        {
            var dupeUploadAudioIdSet = File.ReadLines(@"F:\WorkFolder\Summary\20210425\DupeUpload.txt").ToHashSet();
            var overallList          = File.ReadLines(@"F:\WorkFolder\Summary\20210222\Important\OverallMappingAll.txt").Select(x => new OverallMappingLine(x))
                                       .Where(x => !dupeUploadAudioIdSet.Contains(x.AudioId))
                                       .ToDictionary(x => x.AudioPath.ToLower(), x => x);

            var g = File.ReadLines(@"F:\WorkFolder\Summary\20210222\Important\FullMapping.txt")
                    .Select(x => new FullMappingLine(x))
                    .Where(x => !dupeUploadAudioIdSet.Contains(x.AudioPlatformId.ToString()))
                    .GroupBy(x => x.OldPath.ToLower())
                    .Where(x => x.Count() > 1)
                    .ToArray();

            var fullDict = File.ReadLines(@"F:\WorkFolder\Summary\20210222\Important\FullMapping.txt")
                           .Select(x => new FullMappingLine(x))
                           .Where(x => !dupeUploadAudioIdSet.Contains(x.AudioPlatformId.ToString()))
                           .ToDictionary(x => x.OldPath.ToLower(), x => x);

            List <string> list = new List <string>();

            foreach (string s in Directory.EnumerateFiles(@"F:\WorkFolder\Input\300hrsRecordingContent", "*.wav", SearchOption.AllDirectories))
            {
                string           key   = s.ToLower();
                var              line1 = overallList.ContainsKey(key) ? overallList[key] : null;
                var              line2 = fullDict.ContainsKey(key) ? fullDict[key] : null;
                TotalMappingLine line  = new TotalMappingLine
                {
                    TaskName           = line1 != null ? line1.TaskName : "",
                    TaskId             = line1 != null ?(line1.TaskId == ""?int.MinValue: int.Parse(line1.TaskId)) : int.MinValue,
                    AudioName          = line1 != null ? line1.AudioName : "",
                    AudioId            = line1 != null ?(line1.AudioId == ""?int.MinValue: int.Parse(line1.AudioId)): int.MinValue,
                    Dialect            = line1 != null ? line1.Dialect : "",
                    SpeakerId          = line1 != null ? line1.Speaker : "",
                    UniversalSpeakerId = line2 != null?line2.UniversalSpeakerId.ToString("00000") : int.MinValue.ToString(),
                                             UniversalFileId = line2 != null ? line2.UniversalAudioId : int.MinValue,
                                             InputTextPath   = "",
                                             InputAudioPath  = "",
                                             LocalAudioPath  = key,
                                             Online          = line1 != null ? line1.TaskId.Length >= 3 : false,
                                             Valid           = true,
                };
                list.Add(line.Output());
            }
            list.WriteAllLinesToTmp();
        }
 public void Copy()
 {
     foreach (string s in File.ReadLines(Constants.TOTAL_MAPPING_PATH))
     {
         var line = new TotalMappingLine(s);
         if (!line.Valid)
         {
             continue;
         }
         if (!File.Exists(line.DeliveredAudioPath))
         {
             if (!Directory.Exists(line.DeliveredAudioFolder))
             {
                 Directory.CreateDirectory(line.DeliveredAudioFolder);
             }
             File.Copy(line.LocalAudioPath, line.DeliveredAudioPath);
         }
     }
 }