diff --git a/Migrations/20250621212709_AddEventDetails.Designer.cs b/Migrations/20250621212709_AddEventDetails.Designer.cs
new file mode 100644
index 0000000..0eb8d9c
--- /dev/null
+++ b/Migrations/20250621212709_AddEventDetails.Designer.cs
@@ -0,0 +1,86 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using turf_tasker.Data;
+
+#nullable disable
+
+namespace turf_tasker.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20250621212709_AddEventDetails")]
+ partial class AddEventDetails
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder.HasAnnotation("ProductVersion", "9.0.6");
+
+ modelBuilder.Entity("turf_tasker.Models.LawnCareEvent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("AppliedAmount")
+ .HasColumnType("TEXT");
+
+ b.Property("EventDate")
+ .HasColumnType("TEXT");
+
+ b.Property("EventType")
+ .HasColumnType("INTEGER");
+
+ b.Property("MowerHeightInches")
+ .HasColumnType("TEXT");
+
+ b.Property("MowingPattern")
+ .HasColumnType("INTEGER");
+
+ b.Property("Notes")
+ .HasMaxLength(500)
+ .HasColumnType("TEXT");
+
+ b.Property("ProblemObserved")
+ .HasMaxLength(250)
+ .HasColumnType("TEXT");
+
+ b.Property("ProductUsed")
+ .HasMaxLength(200)
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("LawnCareEvents");
+ });
+
+ modelBuilder.Entity("turf_tasker.Models.LawnCareTip", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Category")
+ .HasColumnType("INTEGER");
+
+ b.Property("Content")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("LawnCareTips");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Migrations/20250621212709_AddEventDetails.cs b/Migrations/20250621212709_AddEventDetails.cs
new file mode 100644
index 0000000..97662ed
--- /dev/null
+++ b/Migrations/20250621212709_AddEventDetails.cs
@@ -0,0 +1,60 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace turf_tasker.Migrations
+{
+ ///
+ public partial class AddEventDetails : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn(
+ name: "AppliedAmount",
+ table: "LawnCareEvents",
+ type: "TEXT",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "MowerHeightInches",
+ table: "LawnCareEvents",
+ type: "TEXT",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "ProblemObserved",
+ table: "LawnCareEvents",
+ type: "TEXT",
+ maxLength: 250,
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "ProductUsed",
+ table: "LawnCareEvents",
+ type: "TEXT",
+ maxLength: 200,
+ nullable: true);
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "AppliedAmount",
+ table: "LawnCareEvents");
+
+ migrationBuilder.DropColumn(
+ name: "MowerHeightInches",
+ table: "LawnCareEvents");
+
+ migrationBuilder.DropColumn(
+ name: "ProblemObserved",
+ table: "LawnCareEvents");
+
+ migrationBuilder.DropColumn(
+ name: "ProductUsed",
+ table: "LawnCareEvents");
+ }
+ }
+}
diff --git a/Migrations/ApplicationDbContextModelSnapshot.cs b/Migrations/ApplicationDbContextModelSnapshot.cs
index f6d0c56..320c9f9 100644
--- a/Migrations/ApplicationDbContextModelSnapshot.cs
+++ b/Migrations/ApplicationDbContextModelSnapshot.cs
@@ -23,12 +23,18 @@ namespace turf_tasker.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
+ b.Property("AppliedAmount")
+ .HasColumnType("TEXT");
+
b.Property("EventDate")
.HasColumnType("TEXT");
b.Property("EventType")
.HasColumnType("INTEGER");
+ b.Property("MowerHeightInches")
+ .HasColumnType("TEXT");
+
b.Property("MowingPattern")
.HasColumnType("INTEGER");
@@ -36,6 +42,14 @@ namespace turf_tasker.Migrations
.HasMaxLength(500)
.HasColumnType("TEXT");
+ b.Property("ProblemObserved")
+ .HasMaxLength(250)
+ .HasColumnType("TEXT");
+
+ b.Property("ProductUsed")
+ .HasMaxLength(200)
+ .HasColumnType("TEXT");
+
b.HasKey("Id");
b.ToTable("LawnCareEvents");
diff --git a/Models/LawnCareEvent.cs b/Models/LawnCareEvent.cs
index e43d501..4b8d9c3 100644
--- a/Models/LawnCareEvent.cs
+++ b/Models/LawnCareEvent.cs
@@ -9,6 +9,10 @@ public enum LawnCareEventType
Fertilizing,
Aeration,
WeedControl,
+ PestControl,
+ DiseaseControl,
+ Topdressing,
+ Overseeding,
Other
}
@@ -39,6 +43,22 @@ public class LawnCareEvent
[Display(Name = "Mowing Pattern")]
public MowingPattern? MowingPattern { get; set; }
+
+ [Display(Name = "Product Used")]
+ [StringLength(200)]
+ public string? ProductUsed { get; set; }
+
+ [Display(Name = "Applied Amount")]
+ [Range(0.01, 1000.0, ErrorMessage = "Amount must be positive.")] // Example range
+ public decimal? AppliedAmount { get; set; }
+
+ [Display(Name = "Mower Height (inches)")]
+ [Range(0.5, 6.0, ErrorMessage = "Height must be between 0.5 and 6 inches.")]
+ public decimal? MowerHeightInches { get; set; }
+
+ [Display(Name = "Problem Observed")]
+ [StringLength(250)]
+ public string? ProblemObserved { get; set; }
[StringLength(500)]
public string? Notes { get; set; }