public void OnProcessing(FeedDataSet Feed) { var localTemp = StaticUtilities.GetDataPath() + "\\" + CurrentSessionParams.LocalDirName + "\\" + CurrentSessionParams.FilesToExtract[Feed]; if (File.Exists(localTemp)) { //var observableCharactersSeq=Observable.Using<char,StreamReader>(()=>new StreamReader(new FileStream(localTemp,FileMode.Open)), // s=>(from c in s.ReadToEnd().ToCharArray() select c).ToObservable(NewThreadScheduler.Default)); if (FeedDataSet.SUB == Feed) //this needs to be removed later { File.ReadLines(localTemp) .Skip(1) .ToObservable() .ObserveOn(Scheduler.Default) .Subscribe(l => OnLineProcessing(l, Feed), onError: OnError, onCompleted: OnImportFinished); } } else { Console.WriteLine("path Not Found"); } }
public void OnLineProcessing(string line, FeedDataSet Feed) { try { //TagHandler.DoImport(Feed,obj); switch (Feed) { case FeedDataSet.TAG: TagRepository.Add(line.MapString <tag>(), context.tags); break; case FeedDataSet.SUB: { var sub = line.MapString <submission>(); if (sub.IsNotNull() && !context.submissions.Any(x => x.adsh == sub.adsh)) { SubRepository.Add(sub, context.submissions); } break; } case FeedDataSet.PRE: { PreRepository.Add(line.MapString <pre>(), context.pres); break; } case FeedDataSet.NUM: { NumRepository.Add(line.MapString <num>(), context.nums); break; } } } catch (Exception ex) { Console.WriteLine("***Exception********"); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } }