コード例 #1
0
        public ActionResult FormResult(ListingGeneratorFormModel model)
        {
            model.Title = AddMinifigToTitle(model.Title);

            model.Html = Render();

            return(View(model));

            IHtmlString Render()
            {
                var viewLoc      = ViewLocation();
                var viewTemplate = GetViewContents(viewLoc);

                var str = !Engine.Razor.IsTemplateCached(viewTemplate, typeof(ListingGeneratorFormModel))
                                        ? Engine.Razor.RunCompile(viewTemplate, viewTemplate, typeof(ListingGeneratorFormModel),
                                                                  model)
                                        : Engine.Razor.Run(viewTemplate, typeof(ListingGeneratorFormModel), model);

                return(new HtmlString(str.Trim()));
            }

            string GetViewContents(string viewTemplate)
            {
                return(System.IO.File.ReadAllText(Server.MapPath(viewTemplate)));
            }

            string ViewLocation()
            {
                return($"~/Views/ListingGenerator/Templates/{model.Type}.cshtml");
            }

            string AddMinifigToTitle(string title)
            {
                if (!model.Type.Contains("Fig"))
                {
                    return(title);
                }
                if (title.Contains("Minifigure"))
                {
                    return(title);
                }

                var mf = model.Plural ? " Minifigures" : " Minifigure";

                return(title + mf);
            }
        }
コード例 #2
0
 public ActionResult ViewTemplate(ListingGeneratorFormModel model)
 {
     return(View($"~/Views/ListingGenerator/Templates/{model.Type}.cshtml", model));
 }
コード例 #3
0
        public ActionResult Form()
        {
            var model = new ListingGeneratorFormModel();

            return(View(model));
        }