示例#1
0
 public override void LoadFull(VijaModel model)
 {
     if (!model.IsLoadFull)
     {
         using (var db = new JazeDatabaseContext())
         {
             model.Means = JsonConvert.DeserializeObject <List <WordMean> >(model.MeanText);
             foreach (var mean in model.Means)
             {
                 if (mean.ExampleIds != null)
                 {
                     mean.Examples = new List <ExampleModel>();
                     foreach (var exampleId in mean.ExampleIds)
                     {
                         var example = db.JaViExamples.Find(exampleId);
                         if (example != null)
                         {
                             mean.Examples.Add(ExampleModel.Create(example));
                         }
                     }
                 }
             }
             model.IsLoadFull = true;
         }
     }
 }
示例#2
0
 public override void LoadFull(GrammarModel model)
 {
     if (!model.IsLoadFull)
     {
         using (var db = new JazeDatabaseContext())
         {
             model.Detail = JsonConvert.DeserializeObject <GrammarDetail[]>(model.DetailText);
             foreach (var detail in model.Detail)
             {
                 if (detail.ExampleIds != null)
                 {
                     detail.Examples = new List <ExampleModel>();
                     foreach (var exampleId in detail.ExampleIds)
                     {
                         var example = db.JaViExamples.Find(exampleId);
                         if (example != null)
                         {
                             detail.Examples.Add(ExampleModel.Create(example));
                         }
                     }
                 }
             }
             model.IsLoadFull = true;
         }
     }
 }
示例#3
0
        public void CreatDataBase()
        {
            var configuration = Shaolinq.Sqlite.SqliteConfiguration.Create(":memory:");

            model = DataAccessModel.BuildDataAccessModel <ExampleModel>(configuration);
            //如果不存在则创建
            model.Create(DatabaseCreationOptions.IfDatabaseNotExist);
        }
示例#4
0
 public override void LoadFull(JaviModel model)
 {
     if (!model.IsLoadFull)
     {
         using (var db = new JazeDatabaseContext())
         {
             model.Means = JsonConvert.DeserializeObject <List <WordMean> >(model.MeanText);
             foreach (var mean in model.Means)
             {
                 if (mean.ExampleIds != null)
                 {
                     mean.Examples = new List <ExampleModel>();
                     foreach (var exampleId in mean.ExampleIds)
                     {
                         var example = db.JaViExamples.Find(exampleId);
                         if (example != null)
                         {
                             mean.Examples.Add(ExampleModel.Create(example));
                         }
                     }
                 }
             }
             //fetch kanji in word
             model.Kanjis = new List <KanjiModel>();
             var kanjis = StringUtil.FilterCharsInString(model.Word, CharSet.Kanji);
             foreach (var c in kanjis)
             {
                 var kanji       = c.ToString();
                 var kanjiEntity = db.Kanjis.FirstOrDefault(e => e.Word == kanji);
                 if (kanjiEntity != null)
                 {
                     model.Kanjis.Add(KanjiModel.Create(kanjiEntity));
                 }
                 else
                 {
                     model.Kanjis.Add(new KanjiModel {
                         Word = kanji
                     });
                 }
             }
             model.IsLoadFull = true;
         }
     }
 }