public string ParseTemplate(string templateText, UserModel userModel) { if (!_initialized) { HostingEnvironment.RegisterVirtualPathProvider(new RazorVirtualPathProvider()); _initialized = true; } var model = GenerateModel(userModel); return Razor.Parse(templateText, model); }
public dynamic GenerateModel(UserModel userModel) { var date = DateTime.Now; return new { month = date.ToString("MMM"), day = date.Day, year = date.ToString("yyyy"), effectiveDate = date.ToString("MMM dd, yyyy"), Customer = userModel.Name, Address = "210 N 5th Ave Fargo, ND 58103", Contact = "Mr. Important Guy", fax = "701-203-5689", Buyer = "Nick Swardson", userModel.Commitments, userModel.Prices }; }
private UserModel GenerateModel() { var model = new UserModel { Name = User.Identity.Name }; model.Commitments.Add(new QuarterlyCommitment { QuantityOfSugar = 250000, Quarter = "1/1/2009 – 3/31/2009" }); model.Commitments.Add(new QuarterlyCommitment { QuantityOfSugar = 250000, Quarter = "3/1/2009 – 6/30/2009" }); model.Commitments.Add(new QuarterlyCommitment { QuantityOfSugar = 250000, Quarter = "7/1/2009 – 9/30/2009" }); model.Commitments.Add(new QuarterlyCommitment { QuantityOfSugar = 750000, Quarter = "10/1/2009 – 12/31/2009" }); model.Prices.Add(new Price {DeliveryLocation = "RRV", UnitPrice = 34.00m, Mode = Mode.Magic, PackageSizeAndType = "cwt", State = "MN", TotalPrice = 340.00m}); model.Prices.Add(new Price { DeliveryLocation = "RRV", UnitPrice = 35.00m, Mode = Mode.Offline, PackageSizeAndType = "cwt", State = "WY", TotalPrice = 350.00m }); model.Prices.Add(new Price { DeliveryLocation = "RRV", UnitPrice = 35.00m, Mode = Mode.Magic, PackageSizeAndType = "cwt", State = "ND", TotalPrice = 350.00m }); model.Prices.Add(new Price { DeliveryLocation = "RRV", UnitPrice = 34.00m, Mode = Mode.Online, PackageSizeAndType = "cwt", State = "MN", TotalPrice = 340.00m }); return model; }