diff --git a/Notes/MileageTraker_UserEmails.xlsx b/Notes/MileageTraker_UserEmails.xlsx index 6d3cb07..6194690 100644 Binary files a/Notes/MileageTraker_UserEmails.xlsx and b/Notes/MileageTraker_UserEmails.xlsx differ diff --git a/Web/Migrations/201301031939259_AddLogUser.Designer.cs b/Web/Migrations/201301031939259_AddLogUser.Designer.cs new file mode 100644 index 0000000..a83eb97 --- /dev/null +++ b/Web/Migrations/201301031939259_AddLogUser.Designer.cs @@ -0,0 +1,24 @@ +// +namespace MileageTraker.Web.Migrations +{ + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + + public sealed partial class AddLogUser : IMigrationMetadata + { + string IMigrationMetadata.Id + { + get { return "201301031939259_AddLogUser"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return "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"; } + } + } +} diff --git a/Web/Migrations/201301031939259_AddLogUser.cs b/Web/Migrations/201301031939259_AddLogUser.cs new file mode 100644 index 0000000..31bace2 --- /dev/null +++ b/Web/Migrations/201301031939259_AddLogUser.cs @@ -0,0 +1,34 @@ +namespace MileageTraker.Web.Migrations +{ + using System.Data.Entity.Migrations; + + public partial class AddLogUser : DbMigration + { + public override void Up() + { + Sql(@"INSERT INTO [Role] + ([RoleId] + ,[RoleName] + ,[Description]) + VALUES + ('C070ADF5-CCA3-42B0-92E4-9E38472940DF' + ,'Driver' + ,'Driver')"); + + + AddColumn("Log", "User_UserId", c => c.Guid()); + AddForeignKey("Log", "User_UserId", "User", "UserId"); + CreateIndex("Log", "User_UserId"); + + } + + public override void Down() + { + DropIndex("Log", new[] { "User_UserId" }); + DropForeignKey("Log", "User_UserId", "User"); + DropColumn("Log", "User_UserId"); + + Sql(@"DELETE FROM ROLE WHERE RoleName = 'Driver'"); + } + } +} diff --git a/Web/Models/Log.cs b/Web/Models/Log.cs index a04a6cb..e052284 100644 --- a/Web/Models/Log.cs +++ b/Web/Models/Log.cs @@ -4,7 +4,6 @@ using System.ComponentModel.DataAnnotations; using System.Web.Mvc; using MileageTraker.Web.Attributes; using MileageTraker.Web.DAL; -using MileageTraker.Web.Utility; namespace MileageTraker.Web.Models { @@ -45,6 +44,10 @@ namespace MileageTraker.Web.Models [InputSize("medium")] public string EmployeeName { get; set; } + [Display(Name = "Employee / Driver")] + [HiddenInput(DisplayValue = false)] + public virtual User User { get; set; } + [Range(0, 50)] [DisplayFormat(DataFormatString = "{0:0.000}", ApplyFormatInEditMode = true)] [Units("Gallons")] diff --git a/Web/Models/Role.cs b/Web/Models/Role.cs index 87655c2..e78752b 100644 --- a/Web/Models/Role.cs +++ b/Web/Models/Role.cs @@ -7,12 +7,12 @@ namespace MileageTraker.Web.Models public class Role { [Key] - public virtual Guid RoleId { get; set; } + public Guid RoleId { get; set; } [Required] - public virtual string RoleName { get; set; } + public string RoleName { get; set; } - public virtual string Description { get; set; } + public string Description { get; set; } public virtual ICollection Users { get; set; } } diff --git a/Web/ViewModels/Log/LogIndexViewModel.cs b/Web/ViewModels/Log/LogIndexViewModel.cs index c68198a..f786f30 100644 --- a/Web/ViewModels/Log/LogIndexViewModel.cs +++ b/Web/ViewModels/Log/LogIndexViewModel.cs @@ -19,7 +19,9 @@ namespace MileageTraker.Web.ViewModels.Log public string CityName { get; set; } - public string EmployeeName { get; set; } + //public string EmployeeName { get; set; } + + public virtual Models.User User { get; set; } public double GasPurchased { get; set; } diff --git a/Web/Views/Log/Index.cshtml b/Web/Views/Log/Index.cshtml index 0c83779..6d0d069 100644 --- a/Web/Views/Log/Index.cshtml +++ b/Web/Views/Log/Index.cshtml @@ -56,7 +56,7 @@ grid.Column("GasPurchased", "Gas", item => item.GasPurchased > 0 ? String.Format("{0:0.000}", item.GasPurchased) : string.Empty), grid.Column("Date", format: item => item.Date.ToString("d")), grid.Column("CityName", "City Name"), - grid.Column("EmployeeName", "Employee Name"), + grid.Column("EmployeeName", "Employee Name", item => item.User != null ? item.User.FullName : ""), grid.Column(format: @
@Html.ActionLink("Edit", "Edit", new { id = item.LogId }, new { @class = "btn btn-mini" }) diff --git a/Web/Web.csproj b/Web/Web.csproj index c22d45f..640f8c2 100644 --- a/Web/Web.csproj +++ b/Web/Web.csproj @@ -139,6 +139,10 @@ 201212261822498_AddMembership.cs + + + 201301031939259_AddLogUser.cs +