コード例 #1
0
        /// <summary>
        ///		Compila los documentos y lo guarda en temporal
        /// </summary>
        internal override void Process()
        {
            foreach (FileTargetModel file in Data.Files)
            {
                if (file.File.FileType == Model.Solutions.FileModel.DocumentType.Document)
                {
                    DocumentModel document = new DocumentBussiness().Load(file.File);

                    // Compila los documentos que no sean de categoría y lo graban en el archivo temporal
                    if (document.ModeShow == DocumentModel.ShowChildsMode.None)
                    {
                        try
                        {
                            // Compila y graba el documento
                            LibCommonHelper.Files.HelperFiles.MakePath(System.IO.Path.GetDirectoryName(file.GetFullFileNameCompiledTemporal(Processor)));
                            LibCommonHelper.Files.HelperFiles.SaveTextFile(file.GetFullFileNameCompiledTemporal(Processor),
                                                                           Compile(file, document));
                        }
                        catch (Exception exception)
                        {
                            Processor.Errors.Add(file.GetFullFileName(Processor),
                                                 $"Error al compilar: {file.GetFullFileNameCompiledTemporal(Processor)}. Excepción: {exception.Message}");
                        }
                    }
                }
            }
        }
コード例 #2
0
        /// <summary>
        ///		Carga los documentos, inicializa sus datos básicos y compila en corto
        /// </summary>
        internal override void Process()
        {
            NhamlCompiler.Variables.VariablesCollection variables;

            // Obtiene las variables de proyecto
            variables = Data.NhamlCompiler.GetProjectVariables();
            // Carga las secciones y plantillas
            foreach (Pages.FileTargetModel file in Data.Files)
            {
                if (file.File.FileType == Model.Solutions.FileModel.DocumentType.Document)
                {
                    DocumentModel document = new DocumentBussiness().Load(file.File);

                    // Inicializa el nombre de archivo destino con el nombre de la carpeta
                    // y sube el directorio un nivel
                    file.FileNameTarget = System.IO.Path.GetFileName(file.PathTarget) + ".htm";
                    if (file.FileNameTarget.EndsWith(Processor.Project.PageMain, StringComparison.CurrentCultureIgnoreCase))
                    {
                        file.PathTarget = System.IO.Path.GetDirectoryName(file.PathTarget);
                    }
                    // Inicializa los datos básicos del documento
                    file.Title             = document.Title;
                    file.FileNameImage     = document.URLImageSummary;
                    file.FileNameThumbnail = document.URLThumbImageSummary;
                    file.ShowMode          = document.ModeShow;
                    file.IsRecursive       = document.IsRecursive;
                    file.ShowAtRss         = document.ShowAtRSS;
                    // Compila el documento en corto si no es una categoría
                    Compile(document, file, variables);
                }
            }
        }
コード例 #3
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";

            // get parameters
            var userId = Convert.ToInt32(context.Request["userId"]);
            var doc    = JsonConvert.DeserializeObject <Document>(context.Request["doc"]);

            DocumentBussiness.Save(userId, doc);
            context.Response.Write("true");
        }
コード例 #4
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";

            // get parameters
            var id     = Guid.Parse(context.Request["id"]);
            var userId = Convert.ToInt32(context.Request["userId"]);

            // Delete document
            DocumentBussiness.Delete(id, userId);
            context.Response.Write("true");
        }
コード例 #5
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";

            var      userId = Convert.ToInt32(context.Request["userId"]);
            Document document;

            if (context.Request["id"] != null)
            {
                var id = Guid.Parse(context.Request["id"]);
                document = DocumentBussiness.Load(id, userId);
            }
            else
            {
                document = DocumentBussiness.LoadDefaultDocument(userId);
            }

            context.Response.Write(document.ToJson());
        }
コード例 #6
0
        /// <summary>
        ///		Procesa las categorías
        /// </summary>
        protected void ProcessCategories(int intItemsPerPage)
        {
            // Ordena los elementos por directorio / nombre
            Data.Files.SortByFullFileName(true);
            // Recorre los elementos al revés, comenzando por el final para compilar primero las categorías internas
            for (int index = Data.Files.Count - 1; index >= 0; index--)
            {
                FileTargetModel file = Data.Files [index];

                if (CheckIsCategory(file))
                {
                    DocumentModel category = new DocumentBussiness().Load(file.File);

                    // Preprocesa el archivo si es necesario
                    Preprocess(file, category);
                    // Compila las páginas y las añade a la colección
                    Data.Files.AddRange(Compile(file, category, GetChilds(file, category), intItemsPerPage));
                    // Elimina la categoría
                    Data.Files.RemoveAt(index);
                }
            }
        }
コード例 #7
0
 internal SectionSourceModelCollection(Generator processor)
 {
     Processor = processor;
     DocumentBussinessManager = new DocumentBussiness();
 }