예제 #1
0
파일: Deployment.cs 프로젝트: PavelPZ/REW
  //sitemap kurzu s lokalizaci. Pro headerOnly => pouze jeden root node (pro pouziti v seznau produktu v q:\LMCom\rew\Web4\Schools\EACourses\courses.json )
  public static root courseSitemapWithLoc(ProductsDefine.productDescrLow prod, bool headerOnly) {
    ProductsDefine.courseDescr cfg = null;
    Func<ProductsDefine.courseDescr, ProductsDefine.courseDescr> fake = c => { cfg = c; return c; };
    // ROOT node
    var res = new root() {
      courseId = prod.courseId,
      line = CommonLib.CourseIdToLineId(prod.course),
      title = prod.title,
      fileName = prod.productId(),
    };
    if (prod.hasPretest()) res.pretestCrsId = prod.course;
    //Add course tree and grammar (including localization) to sitemap 
    if (!headerOnly) {
      res.courses = createCourses(prod).ToArray(); //sitemap tree
      //grammar s lokalizaci
      schools.grammarNode gram;
      var trados = Grammar.getGrammar(prod, out gram);
      //Pouziti grammar v course sitemap
      res.grammar = gram;
      trados.Add(Langs.no, JsonConvert.SerializeObject(res, Newtonsoft.Json.Formatting.Indented, EADeployLib.jsonSet));
      //write
      EADeployLib.writeFiles(Machines.basicPath + @"rew\Web4\Schools\EACourses\", res.fileName + ".json", trados, true); //vypis zdroje i JSON prekladu
      XmlUtils.ObjectToFile(Machines.basicPath + @"rew\Web4\Schools\EACourses\" + res.fileName + ".xml", res); //pro info jeste do XML
    }

    return res;
  }