feat: Enhance UI/UX across multiple views with consistent styling and improved layout #3
4 changed files with 180 additions and 0 deletions
86
Migrations/20250621212709_AddEventDetails.Designer.cs
generated
Normal file
86
Migrations/20250621212709_AddEventDetails.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
// <auto-generated />
|
||||||
|
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
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
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<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<decimal?>("AppliedAmount")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<DateTime>("EventDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int>("EventType")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<decimal?>("MowerHeightInches")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<int?>("MowingPattern")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Notes")
|
||||||
|
.HasMaxLength(500)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("ProblemObserved")
|
||||||
|
.HasMaxLength(250)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("ProductUsed")
|
||||||
|
.HasMaxLength(200)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("LawnCareEvents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("turf_tasker.Models.LawnCareTip", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Category")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Content")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Title")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(100)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("LawnCareTips");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
60
Migrations/20250621212709_AddEventDetails.cs
Normal file
60
Migrations/20250621212709_AddEventDetails.cs
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace turf_tasker.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class AddEventDetails : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<decimal>(
|
||||||
|
name: "AppliedAmount",
|
||||||
|
table: "LawnCareEvents",
|
||||||
|
type: "TEXT",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<decimal>(
|
||||||
|
name: "MowerHeightInches",
|
||||||
|
table: "LawnCareEvents",
|
||||||
|
type: "TEXT",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "ProblemObserved",
|
||||||
|
table: "LawnCareEvents",
|
||||||
|
type: "TEXT",
|
||||||
|
maxLength: 250,
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "ProductUsed",
|
||||||
|
table: "LawnCareEvents",
|
||||||
|
type: "TEXT",
|
||||||
|
maxLength: 200,
|
||||||
|
nullable: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -23,12 +23,18 @@ namespace turf_tasker.Migrations
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
.HasColumnType("INTEGER");
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<decimal?>("AppliedAmount")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
b.Property<DateTime>("EventDate")
|
b.Property<DateTime>("EventDate")
|
||||||
.HasColumnType("TEXT");
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
b.Property<int>("EventType")
|
b.Property<int>("EventType")
|
||||||
.HasColumnType("INTEGER");
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<decimal?>("MowerHeightInches")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
b.Property<int?>("MowingPattern")
|
b.Property<int?>("MowingPattern")
|
||||||
.HasColumnType("INTEGER");
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
|
@ -36,6 +42,14 @@ namespace turf_tasker.Migrations
|
||||||
.HasMaxLength(500)
|
.HasMaxLength(500)
|
||||||
.HasColumnType("TEXT");
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("ProblemObserved")
|
||||||
|
.HasMaxLength(250)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("ProductUsed")
|
||||||
|
.HasMaxLength(200)
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.ToTable("LawnCareEvents");
|
b.ToTable("LawnCareEvents");
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,10 @@ public enum LawnCareEventType
|
||||||
Fertilizing,
|
Fertilizing,
|
||||||
Aeration,
|
Aeration,
|
||||||
WeedControl,
|
WeedControl,
|
||||||
|
PestControl,
|
||||||
|
DiseaseControl,
|
||||||
|
Topdressing,
|
||||||
|
Overseeding,
|
||||||
Other
|
Other
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -40,6 +44,22 @@ public class LawnCareEvent
|
||||||
[Display(Name = "Mowing Pattern")]
|
[Display(Name = "Mowing Pattern")]
|
||||||
public MowingPattern? MowingPattern { get; set; }
|
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)]
|
[StringLength(500)]
|
||||||
public string? Notes { get; set; }
|
public string? Notes { get; set; }
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue