Ejemplo n.º 1
0
        private string GetStyleOutput(string file)
        {
            LOContent contentXML = new LOContent();
            LOStyles  stylesXML  = new LOStyles();
            string    fileOutput = _index > 0 ? file + _index + ".css" : file + ".css";

            //string input = FileInput(file + ".css");
            string input = FileInput(fileOutput);

            _projInfo.DefaultCssFileWithPath = input;
            _projInfo.TempOutputFolder       = _outputPath;

            Dictionary <string, Dictionary <string, string> > cssClass = new Dictionary <string, Dictionary <string, string> >();
            CssTree cssTree = new CssTree();

            cssClass = cssTree.CreateCssProperty(input, true);

            //StyleXML
            string styleOutput = FileOutput(file + _styleFile);
            Dictionary <string, Dictionary <string, string> > idAllClass = stylesXML.CreateStyles(_projInfo, cssClass, styleOutput);

            // ContentXML
            var pageSize = new Dictionary <string, string>();

            pageSize["height"] = cssClass["@page"]["page-height"];
            pageSize["width"]  = cssClass["@page"]["page-width"];
            _projInfo.DefaultXhtmlFileWithPath = FileInput(file + ".xhtml");
            _projInfo.TempOutputFolder         = FileOutput(file);
            _projInfo.HideSpaceVerseNumber     = stylesXML.HideSpaceVerseNumber;

            PreExportProcess preProcessor = new PreExportProcess(_projInfo);

            preProcessor.GetTempFolderPath();
            _projInfo.DefaultXhtmlFileWithPath = preProcessor.ProcessedXhtml;
            if (Param.HyphenEnable)
            {
                preProcessor.IncludeHyphenWordsOnXhtml(_projInfo.DefaultXhtmlFileWithPath);
            }

            AfterBeforeProcess afterBeforeProcess = new AfterBeforeProcess();

            afterBeforeProcess.RemoveAfterBefore(_projInfo, cssClass, cssTree.SpecificityClass, cssTree.CssClassOrder);

            contentXML.CreateStory(_projInfo, idAllClass, cssTree.SpecificityClass, cssTree.CssClassOrder, 325, pageSize);
            _projInfo.TempOutputFolder = _projInfo.TempOutputFolder + _contentFile;
            return(styleOutput);
        }
Ejemplo n.º 2
0
        public static void NullBytes(LOContent content)
        {
            foreach (var slide in content.lopage.loslide)
            {
                if (slide.image_bytes != null)
                {
                    slide.image_bytes = null;
                }

                if (slide.loitemize != null)
                {
                    foreach (var itemize in slide.loitemize.loitem)
                    {
                        if (itemize.image_bytes != null)
                        {
                            itemize.image_bytes = null;
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        async private static Task ProcessSlides(LOContent content)
        {
            CacheService cache = CacheService.Init(SessionService.GetCredentialFileName(), Constants.PreferencesFileName, Constants.LocalDbName);



            foreach (var slide in content.lopage.loslide)
            {
                bool isUrl = Uri.IsWellFormedUriString(slide.loimage, UriKind.Absolute);

                if (slide.loimage != null && isUrl)
                {
                    var bytesAndPath = await cache.tryGetResource(slide.loimage);


                    //Replace Cloud url with local url
                    //slide.loimage = cachePrefix+bytesAndPath.Item2;

                    slide.image_bytes = bytesAndPath.Item1;
                }

                if (slide.loitemize != null)
                {
                    foreach (var itemize in slide.loitemize.loitem)
                    {
                        if (itemize.loimage != null)
                        {
                            var bytesAndPath = await cache.tryGetResource(itemize.loimage);

                            //Replace Cloud url with local url
                            //itemize.loimage = cachePrefix + bytesAndPath.Item2;

                            itemize.image_bytes = bytesAndPath.Item1;
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
        async Task LoadPages(int loListIndex, bool images)
        {
            var lo_obj = LOsInCircle[loListIndex];
            var LOID   = lo_obj.lo.id;

            var list = await _mLearningService.GetPagesByLO(LOID);



            var AllPagesList = new ObservableCollection <page_wrapper>();

            //Loading json content to memory
            foreach (var item in list)
            {
                Mvx.Trace("Id: " + item.id);
                LOContent locontent = null;
                try
                {
                    locontent = JsonConvert.DeserializeObject <LOContent>(item.content);
                }
                catch (Exception e)
                {
                    Mvx.Trace("Serialization error: " + e.Message);
                }


                AllPagesList.Add(new page_wrapper {
                    page = item, content = locontent                                                 /*, id=pagecount*/
                });
                pagecount++;
            }


            var tags = await _mLearningService.GetTagsByLO(LOID);

            PageTags = new ObservableCollection <tag_by_page>(tags);

            var tlist = tags.GroupBy(t => t.name).Select(t => t).ToList();

            var GroupedPagesList = new ObservableCollection <page_collection_wrapper>();

            for (int i = 0; i < tlist.Count; i++)
            {
                IEnumerable <tag_by_page> group = tlist[i];
                var groupCollection             = new ObservableCollection <page_wrapper>();

                foreach (var item in group)
                {
                    groupCollection.Add(AllPagesList.Where(p => p.page.id == item.page_id).First());
                }

                GroupedPagesList.Add(new page_collection_wrapper {
                    PagesList = groupCollection, TagName = group.FirstOrDefault().name
                });

                if (images)
                {
                    UpdatePagesImages(0, GroupedPagesList[i].PagesList);
                }

                //  GroupedPagesList.Add(AllPagesList.Where(p => p.page.id == item.page_id).First());
            }


            LOsInCircle[loListIndex].stack.StacksList = GroupedPagesList;
            LOsInCircle[loListIndex].stack.IsLoaded   = true;

            LOCurrentIndex = loListIndex;

            UpdateExtraInfo(LOCurrentIndex);

            //Download xmls

            //foreach (var item in list)
            //{

            //    await _mLearningService.OpenLOPage(item.url_xml);
            //}
        }
Ejemplo n.º 5
0
        async Task LoadPages2(int loListIndex, bool images)
        {
            var lo_obj = LOsInCircle[loListIndex];
            var LOID   = lo_obj.lo.id;

            var sectionList = await _mLearningService.GetSectionsByLO(LOID);

            //var allSections = new ObservableCollection<LOsection>();

            //Collection for transorming data
            var AllPagesList = new ObservableCollection <page_wrapper> ();
            //collections of collections
            var GroupedPagesList = new ObservableCollection <page_collection_wrapper>();

            //For collection al pages
            var pagesList = new List <Page> ();



            foreach (var item in sectionList)
            {
                var sectionPages = await _mLearningService.GetPagesByLOSection(item.id);

                foreach (var page in sectionPages)
                {
                    pagesList.Add(page);
                }
                var collectionWrapper = new page_collection_wrapper();
                collectionWrapper.TagName = item.name;

                foreach (var p in sectionPages)
                {
                    Mvx.Trace("Id: " + p.id);
                    LOContent locontent = null;
                    //LOContent locontent =  new LOContent();
                    try
                    {
                        locontent = JsonConvert.DeserializeObject <LOContent> (p.content);                       //(locontentstring);;
                        //locontent.lopage = JsonConvert.DeserializeObject<Lopage>(p.content);
                    }
                    catch (Exception e)
                    {
                        Mvx.Trace("Serialization error: " + e.Message);
                    }

                    var pw1 = new page_wrapper {
                        page = p, content = locontent                                              /*, id=pagecount*/
                    };
                    collectionWrapper.PagesList.Add(pw1);

                    //AllPagesList.Add(pw1);
                    pagecount++;
                }

                GroupedPagesList.Add(collectionWrapper);

                if (this.LOID == item.LO_id)
                {
                    if (images)
                    {
                        UpdatePagesImages(0, collectionWrapper.PagesList);
                    }
                }
            }


            //if (images)
            //	UpdatePagesImages(0, GroupedPagesList[i].PagesList);


            LOsInCircle[loListIndex].stack.StacksList = GroupedPagesList;
            LOsInCircle[loListIndex].stack.IsLoaded   = true;

            LOCurrentIndex = loListIndex;

            UpdateExtraInfo(LOCurrentIndex);
        }
Ejemplo n.º 6
0
 async public static Task DownloadSetBytes(LOContent content)
 {
     await  ProcessSlides(content);
 }