public void FindPartialViewAggregatesAllSearchedLocationsIfAllEnginesFail() { // Arrange ControllerContext context = new Mock<ControllerContext>().Object; ViewEngineCollection viewEngineCollection = new ViewEngineCollection(); Mock<IViewEngine> engine1 = new Mock<IViewEngine>(); ViewEngineResult engine1Result = new ViewEngineResult(new[] { "location1", "location2" }); engine1.Setup(e => e.FindPartialView(context, "partial", It.IsAny<bool>())).Returns(engine1Result); Mock<IViewEngine> engine2 = new Mock<IViewEngine>(); ViewEngineResult engine2Result = new ViewEngineResult(new[] { "location3", "location4" }); engine2.Setup(e => e.FindPartialView(context, "partial", It.IsAny<bool>())).Returns(engine2Result); viewEngineCollection.Add(engine1.Object); viewEngineCollection.Add(engine2.Object); // Act ViewEngineResult result = viewEngineCollection.FindPartialView(context, "partial"); // Assert Assert.Null(result.View); Assert.Equal(4, result.SearchedLocations.Count()); Assert.True(result.SearchedLocations.Contains("location1")); Assert.True(result.SearchedLocations.Contains("location2")); Assert.True(result.SearchedLocations.Contains("location3")); Assert.True(result.SearchedLocations.Contains("location4")); }
static ViewEngines() { ViewEngineCollection engineCollection = new ViewEngineCollection(); engineCollection.Add((IViewEngine) new WebFormViewEngine()); engineCollection.Add((IViewEngine) new RazorViewEngine()); ViewEngines._engines = engineCollection; }
public void AsksEachViewEngineInTheOrderItWasCalled() { var redEngine = new Mock<IViewEngine>(); var redResult = new ViewEngineResult(false, new[] { "Whatever"}); redEngine.Setup(x => x.FindView(It.IsAny<ControllerContext>(), It.IsAny<ViewResultOptions>(), It.IsAny<string>())).Returns(redResult); var orangeEngine = new Mock<IViewEngine>(); orangeEngine.Setup(x => x.FindView(It.IsAny<ControllerContext>(), It.IsAny<ViewResultOptions>(), It.IsAny<string>())).Returns((ViewEngineResult)null); var blueEngine = new Mock<IViewEngine>(); var blueResult = new ViewEngineResult(true, new string[0]); blueEngine.Setup(x => x.FindView(It.IsAny<ControllerContext>(), It.IsAny<ViewResultOptions>(), It.IsAny<string>())).Returns(blueResult); var greenEngine = new Mock<IViewEngine>(); var greenResult = new ViewEngineResult(true, new string[0]); greenEngine.Setup(x => x.FindView(It.IsAny<ControllerContext>(), It.IsAny<ViewResultOptions>(), It.IsAny<string>())).Returns(greenResult); var collection = new ViewEngineCollection(); collection.Add(redEngine.Object); collection.Add(orangeEngine.Object); collection.Add(blueEngine.Object); collection.Add(greenEngine.Object); var result = collection.FindView(RequestBuilder.CreateRequest().BuildControllerContext(), new ViewResultOptions(), "Foo"); Assert.AreEqual(blueResult, result); }
public static void RegisterViewEngines(ViewEngineCollection viewEngines) { viewEngines.Clear(); viewEngines.Add(new RazorViewEngine()); viewEngines.Add(new LoggingViewEngine.LoggingViewEngine()); viewEngines.Add(new PdfViewEngine.PdfViewEngine()); viewEngines.Add(new MailerViewEngine.MailerViewEngine()); }
/// <summary> /// Creates the default view engines. /// </summary> /// <param name="viewActivator">The view activator.</param> /// <returns></returns> public static ViewEngineCollection CreateDefaults(IViewActivator viewActivator) { viewActivator = viewActivator ?? new DefaultViewActivator(); var engines = new ViewEngineCollection(); engines.Add(new PageViewEngine(viewActivator)); engines.Add(new ChildWindowViewEngine(viewActivator)); return engines; }
public static void NotifyNewComment(int commentId) { var currentCultureName = Thread.CurrentThread.CurrentCulture.Name; if (currentCultureName != "es-ES") { throw new InvalidOperationException(String.Format("Current culture is {0}", currentCultureName)); } // Prepare Postal classes to work outside of ASP.NET request var viewsPath = Path.GetFullPath(HostingEnvironment.MapPath(@"~/Views/Emails")); var engines = new ViewEngineCollection(); engines.Add(new FileSystemRazorViewEngine(viewsPath)); var emailService = new EmailService(engines); // Get comment and send a notification. using (var db = new MailerDbContext()) { var comment = db.Comments.Find(commentId); var email = new NewCommentEmail { To = "*****@*****.**", UserName = comment.UserName, Comment = comment.Text }; emailService.Send(email); } }
public void RegisterViewEngines(ViewEngineCollection engines) { var sparkViewFactory = new SubFolderSupportedSparkViewFactory(); sparkViewFactory.AddSubDirectoryViewLocation("PartialViews"); engines.Add(sparkViewFactory); }
public static void RegisterViewEngines(ViewEngineCollection viewEngines) { viewEngines.Clear(); var lightweightRazorViewEngine = new LightweightRazorViewEngine(); viewEngines.Add(lightweightRazorViewEngine); }
public static void RegisterViewEngine(ViewEngineCollection engines) { var sparkSettings = new SparkSettings(); sparkSettings .AddNamespace("System") .AddNamespace("System.Collections.Generic") .AddNamespace("System.Linq") .AddNamespace("System.Web.Mvc") .AddNamespace("System.Web.Mvc.Html"); sparkSettings .AddAssembly("Spark.Web.Mvc") .AddAssembly("System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35") .AddAssembly("System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"); var builder = new DefaultDescriptorBuilder(); builder.Filters.Add(new AreaDescriptorFilter()); var container = SparkEngineStarter.CreateContainer(sparkSettings); container.SetServiceBuilder<Spark.Web.Mvc.IDescriptorBuilder>(c => builder); SparkEngineStarter.RegisterViewEngine(container); engines.Add(new SparkViewFactory(sparkSettings)); }
public void Send(string content) { _smtpClient = new SmtpClient(Address, Port); _smtpClient.Credentials = new NetworkCredential(Account, Password); _smtpClient.EnableSsl = false; MailMessage mailMessage = new MailMessage(); mailMessage.BodyEncoding = Encoding.UTF8; mailMessage.From = new MailAddress(From, SenderName, Encoding.UTF8); mailMessage.To.Add(To); mailMessage.Body = content; mailMessage.Subject = Subject; _smtpClient.Send(mailMessage); dynamic email = new Email("Example"); email.To = "*****@*****.**"; email.Send(); var viewsPath = Path.GetFullPath(@"..\..\Views"); var engines = new ViewEngineCollection(); engines.Add(new FileSystemRazorViewEngine(viewsPath)); var service = new EmailService(engines); dynamic email = new Email("Test"); // Will look for Test.cshtml or Test.vbhtml in Views directory. email.Message = "Hello, non-asp.net world!"; service.Send(email); // RESTORE DATABASE is terminating abnormally. }
public static void RegisterViewEngines(ViewEngineCollection viewEngines) { // 清除所有 View Engine viewEngines.Clear(); // 重新註冊 RazorViewEngine,如果你使用的是 WebForm ViewEngine 則是加入 WebFormViewEngine viewEngines.Add(new RazorViewEngine()); }
public static void RegisterViewEngine(ViewEngineCollection viewEngines) { viewEngines.Clear(); var PMIViewEngine = new PMIViewEngine(); viewEngines.Add(PMIViewEngine); }
public static void RegisterEngines(ViewEngineCollection viewEngines) { // Removes WebForms view engine - optimization viewEngines.Clear(); // viewEngines.Add(new CustomViewLocationRazorViewEngine()); viewEngines.Add(new RazorViewEngine()); }
public void CombinesAllErrorsWhenResultIsNotFound() { var redEngine = new Mock<IViewEngine>(); var redResult = new ViewEngineResult(false, new[] { "red whatever" }); redEngine.Setup(x => x.FindView(It.IsAny<ControllerContext>(), It.IsAny<ViewResultOptions>(), It.IsAny<string>())).Returns(redResult); var blueEngine = new Mock<IViewEngine>(); var blueResult = new ViewEngineResult(false, new[] { "blue whatever" }); blueEngine.Setup(x => x.FindView(It.IsAny<ControllerContext>(), It.IsAny<ViewResultOptions>(), It.IsAny<string>())).Returns(blueResult); var collection = new ViewEngineCollection(); collection.Add(redEngine.Object); collection.Add(blueEngine.Object); var result = collection.FindView(RequestBuilder.CreateRequest().BuildControllerContext(), new ViewResultOptions(), "Foo"); Assert.IsFalse(result.Success); Assert.AreEqual(2, result.SearchLocations.Count()); Assert.AreEqual("red whatever", result.SearchLocations.ElementAt(0)); Assert.AreEqual("blue whatever", result.SearchLocations.ElementAt(1)); }
public void AddNullViewEngineThrows() { // Arrange ViewEngineCollection collection = new ViewEngineCollection(); // Act & Assert Assert.ThrowsArgumentNull( delegate { collection.Add(null); }, "item"); }
public void SetNullViewEngineThrows() { // Arrange ViewEngineCollection collection = new ViewEngineCollection(); collection.Add(new Mock<IViewEngine>().Object); // Act & Assert Assert.ThrowsArgumentNull( delegate { collection[0] = null; }, "item"); }
public static void RegisterEngines(ViewEngineCollection engines) { Liquid.UseRubyDateFormat = true; Template.RegisterTag<Form>("form"); Template.RegisterSafeType(typeof(Tag), o => { return o; }); var filters = new[] { typeof(ModelFilters), typeof(TranslationFilter) }; var themesPath = ConfigurationManager.AppSettings["ThemeCacheFolder"]; var viewLocator = new FileThemeViewLocator(themesPath); engines.Add(new DotLiquidViewEngine(new DotLiquidFileSystemFactory(viewLocator), viewLocator, filters)); }
public static void RegisterViewEngine(ViewEngineCollection viewEngines) { // We do not need the default view engine viewEngines.Clear(); var templateableRazorViewEngine = new TemplateWebformViewEngine { CurrentTemplate = httpContext => httpContext.Request["template"] as string ?? string.Empty }; viewEngines.Add(templateableRazorViewEngine); }
public void AddNullViewEngineThrows() { // Arrange ViewEngineCollection collection = new ViewEngineCollection(); // Act & Assert ExceptionHelper.ExpectArgumentNullException( delegate { collection.Add(null); }, "item"); }
public static void RegisterViewEngines(ViewEngineCollection engines) { var engine = new MobileCapableWebFormViewEngine(); engine.DeviceFolders.Clear(); engine.DeviceFolders.Add("Mozilla", "iPhone"); engine.DeviceFolders.Add("Safari", "iPhone"); engine.DeviceFolders.Add("Chrome", "iPhone"); engines.Clear(); engines.Add(engine); }
public static void Install(ViewEngineCollection engines) { if (engines == null) throw new ApplicationException("ViewEngines.Engines Found"); var sparkSettings = GetSparkSettings(Assembly.GetCallingAssembly()); var sparkViewFactory = new SparkViewFactory(sparkSettings); engines.Clear(); engines.Add(sparkViewFactory); }
public static void RegisterViewEngines(ViewEngineCollection engines) { engines.RemoveAt(0); engines.Add(new NustacheViewEngine { // Comment out this line to require Model in front of all your expressions. // This makes it easier to share templates between the client and server. // But it also means that ViewData/ViewBag is inaccessible. RootContext = NustacheViewEngineRootContext.Model }); }
public static void RegisterViewEngine(ViewEngineCollection viewEngines) { // We do not need the default view engine viewEngines.Clear(); var themeableRazorViewEngine = new ThemeableRazorViewEngine { CurrentTheme = httpContext => httpContext.Session["theme"] as string ?? string.Empty }; viewEngines.Add(themeableRazorViewEngine); }
/// <summary> /// Updates the view engines collection of the given <paramref name="controller"/> by making the engines aware of the controller's container virtual path. /// </summary> /// <param name="controller">The controller.</param> /// <exception cref="System.ArgumentNullException">controller</exception> /// <param name="pathTransformations">Transformations that have to be applied to each view engine search path.</param> public static void UpdateViewEnginesCollection(this Controller controller, IList<Func<string, string>> pathTransformations) { if (controller == null) throw new ArgumentNullException("controller"); var viewEngines = new ViewEngineCollection(); foreach (var globalEngine in ViewEngines.Engines) { var vppEngine = globalEngine as VirtualPathProviderViewEngine; var newEngine = vppEngine != null ? ControllerExtensions.GetViewEngine(vppEngine, controller, pathTransformations) : globalEngine; viewEngines.Add(newEngine); } controller.ViewEngineCollection = viewEngines; }
public static void RegisterViewEngine(ViewEngineCollection viewEngines) { // We do not need the default view engine viewEngines.Clear(); var basePath = ConfigurationManager.AppSettings["ThemeBasePath"]; var themeName = ConfigurationManager.AppSettings["ThemeName"]; var theme = new Theme(basePath,themeName); var themeableRazorViewEngine = new ThemedRazorViewEngine(theme); viewEngines.Add(themeableRazorViewEngine); }
public void SendEmail(EmailModel email) { string viewsPath = GetEmailsTemplatePath(); var engines = new ViewEngineCollection(); engines.Add(new FileSystemRazorViewEngine(viewsPath)); Log.Info("Creating email from {0} to {1} with subject {2}", email.From, email.From, email.Subject); var service = new EmailService(engines); MailMessage data = service.CreateMailMessage(email); var emailContent = new Email(email.To, email.From, email.CC, data.Subject, data.Body, data.IsBodyHtml, email.Type); _emailRepository.Save(emailContent); }
public static void Configure(ViewEngineCollection viewEngines) { var settings = new SparkSettings() .AddNamespace("System") .AddNamespace("System.Collections.Generic") .AddNamespace("System.Web.Mvc") .AddNamespace("System.Web.Mvc.Html") .AddNamespace("Sox.UI") .AddNamespace("Sox.UI.Infrastructure") .SetPageBaseType("ApplicationViewPage") .SetAutomaticEncoding(true); settings.SetDebug(true); var viewFactory = new SparkViewFactory(settings); viewEngines.Add(viewFactory); }
// Sending email using postal.mvc5 package public void SendEmail(IEnumerable<FileDetail> fileList) { var viewsPath = Path.GetFullPath(@"..\..\Views\Emails"); var engines = new ViewEngineCollection(); engines.Add(new FileSystemRazorViewEngine(viewsPath)); var service = new EmailService(engines); dynamic email = new Email("FtpFiles"); email.To = _emailRecipients; // Will look for Test.cshtml or Test.vbhtml in Views directory. email.Message = "Hello, non-asp.net world!"; email.FileList = fileList; service.Send(email); }
public static void RegisterViewEngine(ViewEngineCollection viewEngines) { //// We do not need the default view engine viewEngines.Clear(); //var adminTemplateRazorViewEngine = new AdminTemplateRazorViewEngine { // CurrentTemplate = httpContext => httpContext.Session["theme"] as string //}; //viewEngines.Add(adminTemplateRazorViewEngine); var templateRazorViewEngine = new TemplateRazorViewEngine { CurrentTemplate = httpContext => httpContext.Session["theme"] as string }; viewEngines.Add(templateRazorViewEngine); }
public static void Configure(ViewEngineCollection engines) { //engines.Clear(); var settings = new SparkSettings { AutomaticEncoding = true, Debug = true, }; settings .AddAssembly(typeof(LearningTrackerMvcApplication).Assembly.GetName().Name) .AddAssembly(typeof(Controller).Assembly.GetName().Name) .SetPageBaseType("ApplicationViewPage"); var viewFactory = new SparkViewFactory(settings); PrecompileViews(viewFactory); engines.Add(viewFactory); }
public static void AddMobile <T>(this ViewEngineCollection ves, Func <ControllerContext, bool> isTheRightDevice, string pathToSearch) where T : IViewEngine, new() { ves.Add(new CustomMobileViewEngine(isTheRightDevice, pathToSearch, new T())); }
/// <summary>Adds a view engine that resolves tokens from N2's management path.</summary> /// <param name="viewEngines">The view engines to append.</param> public static void RegisterTokenViewEngine(this ViewEngineCollection viewEngines) { viewEngines.Add(new TokenViewEngine()); }
public static void AddGenericMobile <T>(this ViewEngineCollection ves) where T : IViewEngine, new() { ves.Add(new CustomMobileViewEngine(c => c.IsMobileDevice(), "Mobile", new T())); }
public static void Register(ViewEngineCollection viewEngines) { viewEngines.Add(VoiceViewEngine.Instance); }
public static void AddMobile <T>(this ViewEngineCollection ves, string userAgentSubstring, string pathToSearch) where T : IViewEngine, new() { ves.Add(new CustomMobileViewEngine(c => c.UserAgentContains(userAgentSubstring), pathToSearch, new T())); }
/// <summary> /// 添加视图规则 /// </summary> /// <param name="viewEngineCollection">viewEngineCollection</param> internal static void RegisterView(ViewEngineCollection viewEngineCollection) { viewEngineCollection.Add(new MyViewEngine()); }
public static void RegisterViewEngines(ViewEngineCollection viewEngineCollection) { viewEngineCollection.Clear(); viewEngineCollection.Add(new RazorViewEngine()); }
public static void AddIPhone <T>(this ViewEngineCollection ves) //specific example helper where T : IViewEngine, new() { ves.Add(new CustomMobileViewEngine(c => c.UserAgentContains("iPhone"), "Mobile/iPhone", new T())); }
public static void Register(ViewEngineCollection engines) { engines.Clear(); engines.Add(new WcViewEngine()); }
internal static void RegisterViewEngines(ViewEngineCollection viewEngines) { viewEngines.Clear(); viewEngines.Add(new RazorViewEngine()); }
public static void RegisterViewEngines(ViewEngineCollection viewEngines) { viewEngines.Clear(); viewEngines.Add(new CustomViewLocationRazorViewEngine()); }