Skip to content

Commit

Permalink
Merge pull request smsohan#62 from tylermercier/master
Browse files Browse the repository at this point in the history
Test with MVC 4
  • Loading branch information
smsohan committed Oct 1, 2012
2 parents f02c4fd + 4af098e commit fa992d1
Show file tree
Hide file tree
Showing 12 changed files with 125 additions and 181 deletions.
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,9 @@ build
*.user
* Thumbs.db
*.bin
Autotest.config
Autotest.config

#nuget package
*.nupkg
#Nuget/input/lib
lib
2 changes: 1 addition & 1 deletion Mvc.Mailer/MailerBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public virtual string EmailBody(string viewName, string masterName = null) {
/// Populates the mailMessage with content rendered from the view using the default masterName
/// </summary>
/// <param name="action">Action to be performed on a new message instance</param>
public virtual MailMessage Populate(Action<MvcMailMessage> action) {
public virtual MvcMailMessage Populate(Action<MvcMailMessage> action) {
var message = new MvcMailMessage();

action(message);
Expand Down
207 changes: 102 additions & 105 deletions Mvc.Mailer/Mvc.Mailer.csproj
Original file line number Diff line number Diff line change
@@ -1,106 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{37B58562-EF1A-47FE-A02E-98C82D5FB5BC}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Mvc.Mailer</RootNamespace>
<AssemblyName>Mvc.Mailer</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ExtensionMethods\UrlHelperExtensions.cs" />
<Compile Include="EmptyHttpContext.cs" />
<Compile Include="ILinkedResourceProvider.cs" />
<Compile Include="LinkedResourceProvider.cs" />
<Compile Include="MvcMailMessage.cs" />
<Compile Include="SmtpClientBase.cs" />
<Compile Include="SmtpClientWrapper.cs" />
<Compile Include="TestSmtpClient.cs" />
<Compile Include="ISmtpClient.cs" />
<Compile Include="ExtensionMethods\HtmlHelperExtensions.cs" />
<Compile Include="MailerBase.cs" />
<Compile Include="StringResult.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="content\Views\web.config.transform">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="content\web.config.transform">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
<None Include="NuGet\input\tools\cs\IMailerMethodTemplate.cs.t4" />
<None Include="NuGet\input\tools\cs\MailerMethodTemplate.cs.t4" />
<None Include="NuGet\input\tools\Mailer.Aspx.ps1" />
<None Include="NuGet\input\tools\Mailer.Razor.ps1" />
<None Include="NuGet\input\tools\Install.ps1" />
<None Include="NuGet\input\tools\cs\IMailerTemplate.cs.t4" />
<None Include="NuGet\input\tools\cs\MailerTemplate.cs.t4" />
<None Include="NuGet\input\tools\MailerFunctions.ps1" />
<None Include="NuGet\input\tools\view\aspx\Mail.text.aspx.cs.t4" />
<None Include="NuGet\input\tools\view\aspx\Layout.text.Master.cs.t4" />
<None Include="NuGet\input\tools\view\aspx\Layout.Master.cs.t4" />
<None Include="NuGet\input\tools\view\aspx\Mail.aspx.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Layout.text.cshtml.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Mail.text.cshtml.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Layout.cshtml.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Mail.cshtml.cs.t4" />
<None Include="NuGet\MvcMailer.nuspec">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy *.dll "$(ProjectDir)NuGet\input\lib\40"
xcopy content "$(ProjectDir)NuGet\input\content" /S /Y
cd "$(ProjectDir)NuGet"
IF NOT EXIST output md output
nuget pack mvcmailer.nuspec -b input -o output
</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{37B58562-EF1A-47FE-A02E-98C82D5FB5BC}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Mvc.Mailer</RootNamespace>
<AssemblyName>Mvc.Mailer</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ExtensionMethods\UrlHelperExtensions.cs" />
<Compile Include="EmptyHttpContext.cs" />
<Compile Include="ILinkedResourceProvider.cs" />
<Compile Include="LinkedResourceProvider.cs" />
<Compile Include="MvcMailMessage.cs" />
<Compile Include="SmtpClientBase.cs" />
<Compile Include="SmtpClientWrapper.cs" />
<Compile Include="TestSmtpClient.cs" />
<Compile Include="ISmtpClient.cs" />
<Compile Include="ExtensionMethods\HtmlHelperExtensions.cs" />
<Compile Include="MailerBase.cs" />
<Compile Include="StringResult.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="content\web.config.transform">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
<None Include="NuGet\input\tools\cs\IMailerMethodTemplate.cs.t4" />
<None Include="NuGet\input\tools\cs\MailerMethodTemplate.cs.t4" />
<None Include="NuGet\input\tools\Mailer.Aspx.ps1" />
<None Include="NuGet\input\tools\Mailer.Razor.ps1" />
<None Include="NuGet\input\tools\Install.ps1" />
<None Include="NuGet\input\tools\cs\IMailerTemplate.cs.t4" />
<None Include="NuGet\input\tools\cs\MailerTemplate.cs.t4" />
<None Include="NuGet\input\tools\MailerFunctions.ps1" />
<None Include="NuGet\input\tools\view\aspx\Mail.text.aspx.cs.t4" />
<None Include="NuGet\input\tools\view\aspx\Layout.text.Master.cs.t4" />
<None Include="NuGet\input\tools\view\aspx\Layout.Master.cs.t4" />
<None Include="NuGet\input\tools\view\aspx\Mail.aspx.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Layout.text.cshtml.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Mail.text.cshtml.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Layout.cshtml.cs.t4" />
<None Include="NuGet\input\tools\view\razor\Mail.cshtml.cs.t4" />
<None Include="NuGet\MvcMailer.nuspec">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy *.dll "$(ProjectDir)NuGet\input\lib\40"
xcopy content "$(ProjectDir)NuGet\input\content" /S /Y
cd "$(ProjectDir)NuGet"
IF NOT EXIST output md output
nuget pack mvcmailer.nuspec -b input -o output
</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
19 changes: 0 additions & 19 deletions Mvc.Mailer/NuGet/input/content/Views/web.config.transform

This file was deleted.

Binary file removed Mvc.Mailer/NuGet/input/lib/40/Mvc.Mailer.dll
Binary file not shown.
Binary file removed Mvc.Mailer/NuGet/input/lib/40/System.Web.Mvc.dll
Binary file not shown.
3 changes: 1 addition & 2 deletions Mvc.Mailer/NuGet/input/tools/cs/IMailerMethodTemplate.cs.t4
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #>
<#@ Output Extension="cs" #>

MailMessage <#= Model.MethodName #>();

MvcMailMessage <#= Model.MethodName #>();
15 changes: 3 additions & 12 deletions Mvc.Mailer/NuGet/input/tools/cs/IMailerTemplate.cs.t4
Original file line number Diff line number Diff line change
@@ -1,21 +1,12 @@
<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #>
<#@ Output Extension="cs" #>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Mvc.Mailer;
using System.Net.Mail;

namespace <#= Model.Namespace #>.Mailers
{
public interface I<#= Model.MailerName #>
{
<# foreach(var mailerMethod in Model.MailerMethods) {#>

MailMessage <#= mailerMethod #>();

<# } #>

}
<# foreach(var mailerMethod in Model.MailerMethods) {#>
MvcMailMessage <#= mailerMethod #>();
<# } #>}
}
5 changes: 2 additions & 3 deletions Mvc.Mailer/NuGet/input/tools/cs/MailerMethodTemplate.cs.t4
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #>
<#@ Output Extension="cs" #>

public virtual MailMessage <#= Model.MethodName #>()
public virtual MvcMailMessage <#= Model.MethodName #>()
{
ViewBag.Data = someObject;
return Populate(x => {
x.Subject = "<#= Model.MethodName #>";
x.ViewName = "<#= Model.MethodName #>";
x.To.Add("some-email@example.com");
});
}

}
29 changes: 10 additions & 19 deletions Mvc.Mailer/NuGet/input/tools/cs/MailerTemplate.cs.t4
Original file line number Diff line number Diff line change
@@ -1,37 +1,28 @@
<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #>
<#@ Output Extension="cs" #>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Mvc.Mailer;
using System.Net.Mail;

namespace <#= Model.Namespace #>.Mailers
{
public class <#= Model.MailerName #> : MailerBase<# if( Model.Interface) { #>, I<#= Model.MailerName #> <# } #>
{
public <#= Model.MailerName #>():
base()
public <#= Model.MailerName #>()
{
MasterName="_Layout";
}

<# foreach(var mailerMethod in Model.MailerMethods) {#>

public virtual MailMessage <#= mailerMethod #>()
public virtual MvcMailMessage <#= mailerMethod #>()
{
var mailMessage = new MailMessage{Subject = "<#= mailerMethod #>"};

//mailMessage.To.Add("some-email@example.com");
//ViewBag.Data = someObject;
PopulateBody(mailMessage, viewName: "<#= mailerMethod #>");

return mailMessage;
return Populate(x =>
{
x.Subject = "<#= mailerMethod #>";
x.ViewName = "<#= mailerMethod #>";
x.To.Add("some-email@example.com");
});
}

<# } #>

<# } #>
}
}
Binary file removed Mvc.Mailer/NuGet/output/MvcMailer.1.2.nupkg
Binary file not shown.
19 changes: 0 additions & 19 deletions Mvc.Mailer/content/Views/web.config.transform

This file was deleted.

0 comments on commit fa992d1

Please sign in to comment.