Esempio n. 1
0
 internal static AnnotationModel Random(DocumentModel doc)
 {
     int maxTokensToTake = Math.Min(20, doc.Tokens.Count);
     var text = File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath(@"~/App_Data/Placeholder2.txt"));
     var tokenCount = doc.Tokens.Count;
     var startIdx = rand.Next(tokenCount - maxTokensToTake);
     int toTake = rand.Next(maxTokensToTake);
     var quoted = string.Concat(doc.Tokens.Skip(startIdx).Take(toTake).Select(i => i.AsString));
     var textLength = text.Length;
     int textStart = rand.Next(textLength);
     int textToTake = rand.Next(1000);
     var body = string.Format("`{0}`", quoted) +
         string.Concat(text.Skip(textStart).Take(Math.Min(textToTake, textLength - textStart)));
     var toReturn = new AnnotationModel("test", body, doc, isArchived:false);
     toReturn.Id = Guid.NewGuid();
     return toReturn;
 }
Esempio n. 2
0
 internal static AnnotationModel FromDictionary(Dictionary<string, string> dict, DocumentModel doc)
 {
     bool isArchived = false;
     if (dict.ContainsKey("IsArchived")) {
         isArchived = bool.Parse(dict["IsArchived"]);
     }
     var toReturn = new AnnotationModel(dict["Author"], dict["Body"], doc, isArchived);
     toReturn.Id = Guid.Parse(dict["AnnotationId"]);
     return toReturn;
 }