Skip to content
This repository has been archived by the owner on Jan 17, 2024. It is now read-only.

Commit

Permalink
Merge pull request #134 from AppliedIS/fix-esignature
Browse files Browse the repository at this point in the history
Restored AddSignature
  • Loading branch information
MrMatt57 committed Nov 11, 2016
2 parents 045b53a + 084ae4b commit f9b29fe
Show file tree
Hide file tree
Showing 16 changed files with 342 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public static void Register()
container.Register<IEmployeeValidator, EmployeeValidator>(Lifestyle.Singleton);
container.Register<IWIOAWorkerValidator, WIOAWorkerValidator>(Lifestyle.Singleton);
container.Register<IAddressValidatorNoCounty, AddressValidatorNoCounty>(Lifestyle.Singleton);
container.Register<ISignatureValidator, SignatureValidator>(Lifestyle.Singleton);

// This is an extension method from the integration package.
container.RegisterWebApiControllers(GlobalConfiguration.Configuration);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
<Compile Include="Validators\IAlternateWageDataValidator.cs" />
<Compile Include="Validators\IEmployeeValidator.cs" />
<Compile Include="Validators\IPrevailingWageSurveyInfoValidator.cs" />
<Compile Include="Validators\ISignatureValidator.cs" />
<Compile Include="Validators\ISourceEmployerValidator.cs" />
<Compile Include="Validators\IWIOAValidator.cs" />
<Compile Include="Validators\IWIOAWorkerValidator.cs" />
Expand All @@ -92,6 +93,7 @@
<Compile Include="Validators\IPieceRateWageInfoValidator.cs" />
<Compile Include="Validators\IHourlyWageInfoValidator.cs" />
<Compile Include="Validators\PrevailingWageSurveyInfoValidator.cs" />
<Compile Include="Validators\SignatureValidator.cs" />
<Compile Include="Validators\SourceEmployerValidator.cs" />
<Compile Include="Validators\WageTypeInfoValidator.cs" />
<Compile Include="Validators\WIOAValidator.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ namespace DOL.WHD.Section14c.Business.Validators
{
public class ApplicationSubmissionValidator : BaseValidator<ApplicationSubmission>, IApplicationSubmissionValidator
{
public ApplicationSubmissionValidator(IEmployerValidator employerValidator, IHourlyWageInfoValidator hourlyWageInfoValidator, IPieceRateWageInfoValidator pieceRateWageInfoValidator, IWorkSiteValidator workSiteValidator, IWIOAValidator wioaValidator)
public ApplicationSubmissionValidator(ISignatureValidator signatureValidator, IEmployerValidator employerValidator, IHourlyWageInfoValidator hourlyWageInfoValidator, IPieceRateWageInfoValidator pieceRateWageInfoValidator, IWorkSiteValidator workSiteValidator, IWIOAValidator wioaValidator)
{
// required
RuleFor(a => a.EIN).NotEmpty();
RuleFor(a => a.ApplicationTypeId).NotNull().InclusiveBetween(ResponseIds.ApplicationType.Initial, ResponseIds.ApplicationType.Renewal);
RuleFor(a => a.Signature).NotNull().SetValidator(signatureValidator);
RuleFor(a => a.ApplicationTypeId).NotNull().GreaterThanOrEqualTo(1).LessThanOrEqualTo(2);

RuleFor(a => a.HasPreviousApplication).NotNull();
RuleFor(a => a.HasPreviousCertificate).NotNull();
RuleFor(a => a.EstablishmentType).NotNull().Must(et => et.Any() && !et.Any(x => x.EstablishmentTypeId < ResponseIds.EstablishmentType.WorkCenter) && !et.Any(x => x.EstablishmentTypeId > ResponseIds.EstablishmentType.BusinessEstablishment));
Expand Down
9 changes: 9 additions & 0 deletions DOL.WHD.Section14c.Business/Validators/ISignatureValidator.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using DOL.WHD.Section14c.Domain.Models.Submission;
using FluentValidation;

namespace DOL.WHD.Section14c.Business.Validators
{
public interface ISignatureValidator : IValidator<Signature>
{
}
}
16 changes: 16 additions & 0 deletions DOL.WHD.Section14c.Business/Validators/SignatureValidator.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using DOL.WHD.Section14c.Domain.Models.Submission;
using FluentValidation;

namespace DOL.WHD.Section14c.Business.Validators
{
public class SignatureValidator : AbstractValidator<Signature>, ISignatureValidator
{
public SignatureValidator()
{
RuleFor(s => s.Agreement).Equal(true);
RuleFor(s => s.FullName).NotEmpty();
RuleFor(s => s.Title).NotEmpty();
RuleFor(s => s.Date).NotEmpty();
}
}
}
5 changes: 5 additions & 0 deletions DOL.WHD.Section14c.DataAccess/ApplicationDbContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,11 @@ protected override void OnModelCreating(DbModelBuilder modelBuilder)
modelBuilder.Entity<Response>().Property(a => a.QuestionKey).IsRequired();
modelBuilder.Entity<Response>().Property(a => a.Display).IsRequired();
modelBuilder.Entity<Response>().Property(a => a.IsActive).IsRequired();
// Signature
modelBuilder.Entity<Signature>().Property(a => a.Agreement).IsRequired();
modelBuilder.Entity<Signature>().Property(a => a.FullName).IsRequired();
modelBuilder.Entity<Signature>().Property(a => a.Title).IsRequired();
modelBuilder.Entity<Signature>().Property(a => a.Date).IsRequired();
// SourceEmployer
modelBuilder.Entity<SourceEmployer>().Property(a => a.EmployerName).IsRequired();
modelBuilder.Entity<SourceEmployer>().Property(a => a.Phone).IsRequired();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,10 @@
<Compile Include="Migrations\201611081954473_RemoveRequiredCounty.Designer.cs">
<DependentUpon>201611081954473_RemoveRequiredCounty.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\201611101838282_AddSignature.cs" />
<Compile Include="Migrations\201611101838282_AddSignature.Designer.cs">
<DependentUpon>201611101838282_AddSignature.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Repositories\ApplicationRepository.cs" />
Expand Down Expand Up @@ -325,6 +329,9 @@
<EmbeddedResource Include="Migrations\201611081954473_RemoveRequiredCounty.resx">
<DependentUpon>201611081954473_RemoveRequiredCounty.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\201611101838282_AddSignature.resx">
<DependentUpon>201611101838282_AddSignature.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
namespace DOL.WHD.Section14c.DataAccess.Migrations
{
using System;
using System.Data.Entity.Migrations;

public partial class AddSignature : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.Signatures",
c => new
{
Id = c.Guid(nullable: false),
Agreement = c.Boolean(nullable: false),
FullName = c.String(nullable: false),
Title = c.String(nullable: false),
Date = c.DateTime(nullable: false),
CreatedBy_Id = c.String(),
CreatedAt = c.DateTime(nullable: false),
LastModifiedBy_Id = c.String(maxLength: 128),
LastModifiedAt = c.DateTime(nullable: false),
})
.PrimaryKey(t => t.Id)
.ForeignKey("dbo.Users", t => t.LastModifiedBy_Id)
.Index(t => t.LastModifiedBy_Id);

AddColumn("dbo.ApplicationSubmissions", "Signature_Id", c => c.Guid());
CreateIndex("dbo.ApplicationSubmissions", "Signature_Id");
AddForeignKey("dbo.ApplicationSubmissions", "Signature_Id", "dbo.Signatures", "Id");
}

public override void Down()
{
DropForeignKey("dbo.ApplicationSubmissions", "Signature_Id", "dbo.Signatures");
DropForeignKey("dbo.Signatures", "LastModifiedBy_Id", "dbo.Users");
DropIndex("dbo.Signatures", new[] { "LastModifiedBy_Id" });
DropIndex("dbo.ApplicationSubmissions", new[] { "Signature_Id" });
DropColumn("dbo.ApplicationSubmissions", "Signature_Id");
DropTable("dbo.Signatures");
}
}
}

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions DOL.WHD.Section14c.Domain/DOL.WHD.Section14c.Domain.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
<Compile Include="Models\Submission\PieceRateWageInfo.cs" />
<Compile Include="Models\Submission\PrevailingWageSurveyInfo.cs" />
<Compile Include="Models\Submission\Response.cs" />
<Compile Include="Models\Submission\Signature.cs" />
<Compile Include="Models\Submission\SourceEmployer.cs" />
<Compile Include="Models\Submission\WageTypeInfo.cs" />
<Compile Include="Models\Submission\WIOA.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ public ApplicationSubmission()

public Guid Id { get; set; }

#region Assurances

public Signature Signature { get; set; }

#endregion

#region Application Info

public string EIN { get; set; }
Expand Down
18 changes: 18 additions & 0 deletions DOL.WHD.Section14c.Domain/Models/Submission/Signature.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System;

namespace DOL.WHD.Section14c.Domain.Models.Submission
{
public class Signature : BaseEntity
{
public Signature()
{
Id = Guid.NewGuid();
}

public Guid Id { get; set; }
public bool? Agreement { get; set; }
public string FullName { get; set; }
public string Title { get; set; }
public DateTime Date { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
using System;
using DOL.WHD.Section14c.Business.Validators;
using FluentValidation.TestHelper;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace DOL.WHD.Section14c.Test.Business.Validators
{
[TestClass]
public class SignatureValidatorTests
{
private ISignatureValidator _signatureValidator;
public SignatureValidatorTests()
{
_signatureValidator = new SignatureValidator();
}

[TestMethod]
public void Should_Require_Agreement()
{
_signatureValidator.ShouldHaveValidationErrorFor(x => x.Agreement, null as bool?);
}

[TestMethod]
public void Should_Require_FullName()
{
_signatureValidator.ShouldHaveValidationErrorFor(x => x.FullName, "");
}

[TestMethod]
public void Should_Require_Title()
{
_signatureValidator.ShouldHaveValidationErrorFor(x => x.Title, "");
}

[TestMethod]
public void Should_Require_Date()
{
_signatureValidator.ShouldHaveValidationErrorFor(x => x.Date, default(DateTime));
}
}
}
2 changes: 2 additions & 0 deletions DOL.WHD.Section14c.Test/DOL.WHD.Section14c.Test.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@
<Compile Include="Business\Validators\HourlyWageInfoValidatorTests.cs" />
<Compile Include="Business\Validators\PieceRateWageInfoValidatorTests.cs" />
<Compile Include="Business\Validators\PrevailingWageSurveyInfoValidatorTests.cs" />
<Compile Include="Business\Validators\SignatureValidatorTests.cs" />
<Compile Include="Business\Validators\SourceEmployerValidatorTests.cs" />
<Compile Include="Business\Validators\WIOAValidatorTests.cs" />
<Compile Include="Business\Validators\WIOAWorkerValidatorTests.cs" />
Expand All @@ -125,6 +126,7 @@
<Compile Include="Domain\Models\Submission\PieceRateWageInfoTests.cs" />
<Compile Include="Domain\Models\Submission\PrevailingWageSurveyInfoTests.cs" />
<Compile Include="Domain\Models\Submission\ResponseTests.cs" />
<Compile Include="Domain\Models\Submission\SignatureTests.cs" />
<Compile Include="Domain\Models\Submission\WIOAWorkerTests.cs" />
<Compile Include="Domain\Models\Submission\WorkSiteTests.cs" />
<Compile Include="Domain\ViewModels\AccountDetailsViewModelTests.cs" />
Expand Down
32 changes: 32 additions & 0 deletions DOL.WHD.Section14c.Test/Domain/Models/Submission/SignatureTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
using System;
using DOL.WHD.Section14c.Domain.Models.Submission;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace DOL.WHD.Section14c.Test.Domain.Models.Submission
{
[TestClass]
public class SignatureTests
{
[TestMethod]
public void Signature_PublicProperties()
{
var agreement = true;
var fullName = "Full Name";
var title = "Title";
var date = DateTime.Now;

var model = new Signature
{
Agreement = agreement,
FullName = fullName,
Title = title,
Date = date
};

Assert.AreEqual(agreement, model.Agreement);
Assert.AreEqual(fullName, model.FullName);
Assert.AreEqual(title, model.Title);
Assert.AreEqual(date, model.Date);
}
}
}

0 comments on commit f9b29fe

Please sign in to comment.