SHARE
TWEET

Untitled

a guest Nov 15th, 2017 48 in 23 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ngOnInit() {
  2.  
  3.         localStorage.clear();
  4.        
  5.         this._testService.loadItems()
  6.             .toPromise()
  7.             .then((result) => {
  8.                 const parseData = JSON.parse(result)
  9.                 this._store.dispatch({type: 'ADD_ALL_TESTS', payload: parseData});
  10.  
  11.                 for (let dataTest of parseData) {
  12.                     let test = new Test(dataTest);
  13.  
  14.                     this.testStructure = {
  15.                         id: test.id,
  16.                         name: test.name,
  17.                         time: test.time,
  18.                         didacticUnits: []
  19.                     };
  20.  
  21.                     this.ArrayTestStructure[test.id] = this.testStructure;
  22.  
  23.                     // для каждой темы получаем дидактические единицы, ей принадлежащие
  24.                     this._didacticUnitService.getItemsByParentId(dataTest.id)
  25.                         .toPromise()
  26.                         .then((result) => {
  27.                             const parseData = JSON.parse(result);
  28.                             this._store.dispatch({type: 'ADD_ALL_DU', payload: parseData});
  29.  
  30.                             for (let dataDU of parseData) {
  31.                                 let DU = new DidacticUnit(dataDU);
  32.  
  33.                                 this.didacticUnitStructure = {
  34.                                     didacticUnit: DU,
  35.                                     themes: []
  36.                                 };
  37.  
  38.                                 this.ArrayTestStructure[test.id]
  39.                                     .didacticUnits[DU.id] = this.didacticUnitStructure;
  40.  
  41.                                 // для каждой дидактической единицы получаем все темы
  42.                                 this._themeService.getItemsByParentId(dataDU.id)
  43.                                     .toPromise()
  44.                                     .then((result) => {
  45.                                         const parseData = JSON.parse(result);
  46.                                         this._store.dispatch({type: 'ADD_ALL_THEMES', payload: parseData});
  47.                                        
  48.                                         for (let dataTheme of parseData) {
  49.                                             let theme = new Theme(dataTheme);
  50.  
  51.                                             this.themeStructure = {
  52.                                                 theme: theme,
  53.                                                 questions: []
  54.                                             };
  55.  
  56.                                             this.ArrayTestStructure[test.id]
  57.                                                 .didacticUnits[DU.id]
  58.                                                 .themes[theme.id] = this.themeStructure;
  59.  
  60.                                             // для каждой темы получаем вопросы, ей принадлежащие
  61.                                             this._questionService.getItemsByParentId(dataTheme.id)
  62.                                                 .toPromise()
  63.                                                 .then((result) => {
  64.                                                     const parseData = JSON.parse(result);
  65.                                                     this._store.dispatch({
  66.                                                         type: 'ADD_ALL_QUESTIONS',
  67.                                                         payload: parseData
  68.                                                     });
  69.  
  70.                                                     for (let questionData of parseData) {
  71.                                                         let question = new Question(questionData);
  72.  
  73.                                                         this.questionStructure = {
  74.                                                             question: question
  75.                                                         };
  76.  
  77.                                                         this.ArrayTestStructure[test.id]
  78.                                                             .didacticUnits[DU.id]
  79.                                                             .themes[theme.id]
  80.                                                             .questions[question.id] = this.questionStructure;
  81.                                                     }
  82.                                                 });
  83.                                         }
  84.                                     });
  85.                             }
  86.                         });
  87.                 }
  88.             });
  89.         console.log(this.ArrayTestStructure);
  90.     }
RAW Paste Data
Top