Beispiel #1
0
 internal Page(PrintJob job, Guid id, IPageModel pageModel)
 {
     _job         = job;
     _id          = id;
     _templateUri = pageModel.TemplateUrl;
     _variables   = pageModel.Variables;
 }
Beispiel #2
0
        /// <summary>
        /// Creates and executes a multi-page print job.
        /// </summary>
        /// <param name="pageModels"></param>
        /// <returns></returns>
        public static Result Run(IList <IPageModel> pageModels)
        {
            // validate input
            foreach (var pageModel in pageModels)
            {
                if (!pageModel.TemplateUrl.IsLoopback)
                {
                    throw new ArgumentException("Must be a local address");
                }

                var url = pageModel.TemplateUrl.ToString();
                if (!url.EndsWith(".html", StringComparison.InvariantCultureIgnoreCase) &&
                    !url.EndsWith(".htm", StringComparison.InvariantCultureIgnoreCase))
                {
                    throw new ArgumentException("Must be an html file");
                }
            }

            var job = new PrintJob(pageModels);

            return(job.Run());
        }