diff --git a/.gitignore b/.gitignore
index 9491a2f..8b4c8cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -360,4 +360,6 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
-FodyWeavers.xsd
\ No newline at end of file
+FodyWeavers.xsd
+/SoftwareTracker/appsettings.json
+/SoftwareTracker/appsettings.Development.json
diff --git a/SoftwareTracker/Data/Migrations/ApplicationDbContextModelSnapshot.cs b/SoftwareTracker/Data/Migrations/ApplicationDbContextModelSnapshot.cs
index 6d787fb..928e82d 100644
--- a/SoftwareTracker/Data/Migrations/ApplicationDbContextModelSnapshot.cs
+++ b/SoftwareTracker/Data/Migrations/ApplicationDbContextModelSnapshot.cs
@@ -1,10 +1,12 @@
-//
+//
+using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using SoftwareTracker.Data;
-using System;
+
+#nullable disable
namespace SoftwareTracker.Data.Migrations
{
@@ -15,9 +17,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "3.0.0")
- .HasAnnotation("Relational:MaxIdentifierLength", 128)
- .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
+ .HasAnnotation("ProductVersion", "8.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
@@ -29,29 +32,30 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("nvarchar(max)");
b.Property("Name")
- .HasColumnType("nvarchar(256)")
- .HasMaxLength(256);
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
b.Property("NormalizedName")
- .HasColumnType("nvarchar(256)")
- .HasMaxLength(256);
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
- .HasName("RoleNameIndex")
+ .HasDatabaseName("RoleNameIndex")
.HasFilter("[NormalizedName] IS NOT NULL");
- b.ToTable("AspNetRoles");
+ b.ToTable("AspNetRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
- .HasColumnType("int")
- .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("ClaimType")
.HasColumnType("nvarchar(max)");
@@ -67,7 +71,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.HasIndex("RoleId");
- b.ToTable("AspNetRoleClaims");
+ b.ToTable("AspNetRoleClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
@@ -83,8 +87,8 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("nvarchar(max)");
b.Property("Email")
- .HasColumnType("nvarchar(256)")
- .HasMaxLength(256);
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
b.Property("EmailConfirmed")
.HasColumnType("bit");
@@ -96,12 +100,12 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("datetimeoffset");
b.Property("NormalizedEmail")
- .HasColumnType("nvarchar(256)")
- .HasMaxLength(256);
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
b.Property("NormalizedUserName")
- .HasColumnType("nvarchar(256)")
- .HasMaxLength(256);
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
b.Property("PasswordHash")
.HasColumnType("nvarchar(max)");
@@ -119,28 +123,29 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("bit");
b.Property("UserName")
- .HasColumnType("nvarchar(256)")
- .HasMaxLength(256);
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
- .HasName("EmailIndex");
+ .HasDatabaseName("EmailIndex");
b.HasIndex("NormalizedUserName")
.IsUnique()
- .HasName("UserNameIndex")
+ .HasDatabaseName("UserNameIndex")
.HasFilter("[NormalizedUserName] IS NOT NULL");
- b.ToTable("AspNetUsers");
+ b.ToTable("AspNetUsers", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
- .HasColumnType("int")
- .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
b.Property("ClaimType")
.HasColumnType("nvarchar(max)");
@@ -156,18 +161,18 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.HasIndex("UserId");
- b.ToTable("AspNetUserClaims");
+ b.ToTable("AspNetUserClaims", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
{
b.Property("LoginProvider")
- .HasColumnType("nvarchar(128)")
- .HasMaxLength(128);
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
b.Property("ProviderKey")
- .HasColumnType("nvarchar(128)")
- .HasMaxLength(128);
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
b.Property("ProviderDisplayName")
.HasColumnType("nvarchar(max)");
@@ -180,7 +185,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.HasIndex("UserId");
- b.ToTable("AspNetUserLogins");
+ b.ToTable("AspNetUserLogins", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
@@ -195,7 +200,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.HasIndex("RoleId");
- b.ToTable("AspNetUserRoles");
+ b.ToTable("AspNetUserRoles", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
@@ -204,19 +209,19 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.HasColumnType("nvarchar(450)");
b.Property("LoginProvider")
- .HasColumnType("nvarchar(128)")
- .HasMaxLength(128);
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
b.Property("Name")
- .HasColumnType("nvarchar(128)")
- .HasMaxLength(128);
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
b.Property("Value")
.HasColumnType("nvarchar(max)");
b.HasKey("UserId", "LoginProvider", "Name");
- b.ToTable("AspNetUserTokens");
+ b.ToTable("AspNetUserTokens", (string)null);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
diff --git a/SoftwareTracker/Models/LicenseModel.cs b/SoftwareTracker/Models/LicenseModel.cs
new file mode 100644
index 0000000..8af86db
--- /dev/null
+++ b/SoftwareTracker/Models/LicenseModel.cs
@@ -0,0 +1,48 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace SoftwareTracker.Models
+{
+ public class LicenseModel
+ {
+ public int Id { get; set; }
+ public string Manufacturer { get; set; }
+
+ [Display(Name = "Software Title")]
+ [Required]
+ public string SoftwareTitle { get; set; }
+
+ [Display(Name = "Assigned To")]
+ public string AssignedServer { get; set; }
+
+ [Display(Name = "Purchase Order #")]
+ public string PurchaseOrder { get; set; }
+
+ [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
+ [Display(Name = "Purchase Date")]
+ [DataType(DataType.Date)]
+ public DateTime PurchaseDate { get; set; }
+
+ [Display(Name = "License Type")]
+ public string LicenseType { get; set; }
+ public bool Support { get; set; }
+ [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
+
+ [Display(Name = "Support Expiration")]
+ [DataType(DataType.Date)]
+ public DateTime SupportExp { get; set; }
+
+ [Display(Name = "Total Keys")]
+ [Required]
+ public int AmountofKeys { get; set; }
+
+ [Display(Name = "Used Keys")]
+ [Required]
+ public int UsedKeys { get; set; }
+
+ [Display(Name = "Remaining Keys")]
+ public int RemainingKeys { get; set; }
+
+ [Display(Name = "License Key")]
+ public string LicenseKey { get; set; }
+ }
+}
diff --git a/SoftwareTracker/appsettings.Development.json b/SoftwareTracker/appsettings.Development.json
deleted file mode 100644
index 0c208ae..0000000
--- a/SoftwareTracker/appsettings.Development.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- }
-}
diff --git a/SoftwareTracker/appsettings.json b/SoftwareTracker/appsettings.json
deleted file mode 100644
index f8fd36f..0000000
--- a/SoftwareTracker/appsettings.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "ConnectionStrings": {
- "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-SoftwareTracker-8f90118b-4a3b-44a9-b728-5f4d0a8bff50;Trusted_Connection=True;MultipleActiveResultSets=true"
- },
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*"
-}