Removed dialogs for editing equipment and points, and their related resources

This commit is contained in:
retr0volkov
2025-07-30 09:08:22 +03:00 Unverified
parent edae732fac
commit 08eaa30209
77 changed files with 1498 additions and 1543 deletions
+13 -50
View File
@@ -1,4 +1,5 @@
using System;
using System.IO;
using GazpromApp.Models;
using Microsoft.EntityFrameworkCore;
@@ -17,13 +18,15 @@ public class AppDbContext : DbContext
public AppDbContext()
{
var path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
DbPath = System.IO.Path.Combine(path, "GazpromApp.db");
Directory.CreateDirectory(Path.Combine(path, "GazpromApp"));
DbPath = Path.Combine(Path.Combine(path, "GazpromApp"), "GazpromApp.db");
}
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
var path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
DbPath = System.IO.Path.Combine(path, "GazpromApp.db");
Directory.CreateDirectory(Path.Combine(path, "GazpromApp"));
DbPath = Path.Combine(Path.Combine(path, "GazpromApp"), "GazpromApp.db");
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
@@ -41,6 +44,7 @@ public class AppDbContext : DbContext
.HasMany(p => p.Equipment)
.WithOne(e => e.Point)
.HasForeignKey(e => e.PointId)
.IsRequired(false)
.OnDelete(DeleteBehavior.Cascade); // Deleting a Point deletes its Equipment.
modelBuilder.Entity<Point>()
@@ -63,6 +67,13 @@ public class AppDbContext : DbContext
.HasForeignKey(i => i.EquipmentId)
.OnDelete(DeleteBehavior.Cascade); // Equipment has one Image.
modelBuilder.Entity<Equipment>()
.HasMany(e => e.Equipments)
.WithOne(e => e.ParentEquipment)
.HasForeignKey(e => e.ParentEquipmentId)
.IsRequired(false)
.OnDelete(DeleteBehavior.Cascade); // Equipment has many Equipments.
// ==== PROPERTY RELATIONSHIPS ====
// Property as a child of a Point
modelBuilder.Entity<Point>()
@@ -87,53 +98,5 @@ public class AppDbContext : DbContext
.HasForeignKey(p => p.ParentPropertyId)
.IsRequired(false)
.OnDelete(DeleteBehavior.Cascade); // Deleting a parent Property deletes its children.
// modelBuilder.Entity<Point>()
// .Property(p => p.Id)
// .ValueGeneratedOnAdd();
// modelBuilder.Entity<Equipment>()
// .Property(e => e.Id)
// .ValueGeneratedOnAdd();
// modelBuilder.Entity<Image>()
// .Property(i => i.Id)
// .ValueGeneratedOnAdd();
// modelBuilder.Entity<Property>()
// .Property(p => p.Id)
// .ValueGeneratedOnAdd();
// modelBuilder.Entity<Inspection>()
// .Property(i => i.Id)
// .ValueGeneratedOnAdd();
//
// modelBuilder.Entity<Point>()
// .HasMany(p => p.Images)
// .WithMany(i => i.Points);
// modelBuilder.Entity<Point>()
// .HasMany(p => p.Equipment)
// .WithOne(e => e.Point)
// .HasForeignKey(e => e.PointId);
// modelBuilder.Entity<Point>()
// .HasMany(p => p.Properties)
// .WithOne(p => p.Point)
// .HasForeignKey(p => p.ParentId)
// .IsRequired(false);
//
// modelBuilder.Entity<Equipment>()
// .HasOne(e => e.Image)
// .WithMany(i => i.Equipment);
// modelBuilder.Entity<Equipment>()
// .HasMany(e => e.Properties)
// .WithOne(p => p.Equipment)
// .HasForeignKey(p => p.ParentId)
// .IsRequired(false);
// modelBuilder.Entity<Equipment>()
// .HasMany(e => e.Inspections)
// .WithOne(i => i.Equipment)
// .HasForeignKey(i => i.EquipmentId);
//
// modelBuilder.Entity<Property>()
// .HasMany(p => p.Properties)
// .WithOne(p => p.Parent)
// .HasForeignKey(p => p.ParentId)
// .IsRequired(false);
}
}
+53
View File
@@ -0,0 +1,53 @@
using System.Linq;
using GazpromApp.Models;
namespace GazpromApp.Utils;
public static class ParentsHelper
{
public static void SetPropertyParents(this Point point)
{
foreach (var prop in point.Properties)
{
SetPropertyParentsRecursively(prop);
}
foreach (var prop in point.Equipment.SelectMany(equipment => equipment.Properties))
{
SetPropertyParentsRecursively(prop);
}
}
private static void SetPropertyParentsRecursively(Property property)
{
foreach (var childProp in property.Properties)
{
childProp.Parent = property;
childProp.ParentPropertyId = property.Id;
SetPropertyParentsRecursively(childProp);
}
}
public static void SetEquipmentParents(this Point point)
{
foreach (var prop in point.Equipment)
{
SetEquipmentParentsRecursively(prop);
}
foreach (var prop in point.Equipment.SelectMany(equipment1 => equipment1.Equipments))
{
SetEquipmentParentsRecursively(prop);
}
}
private static void SetEquipmentParentsRecursively(Equipment equipment)
{
foreach (var childProp in equipment.Equipments)
{
childProp.ParentEquipment = equipment;
childProp.ParentEquipmentId = equipment.Id;
SetEquipmentParentsRecursively(childProp);
}
}
}
-30
View File
@@ -1,30 +0,0 @@
using GazpromApp.Models;
using System.Linq;
namespace GazpromApp.Utils;
public static class PropertyParentHelper
{
public static void SetPropertyParents(this Point point)
{
foreach (var prop in point.Properties)
{
SetParentsRecursively(prop);
}
foreach (var prop in point.Equipment.SelectMany(equipment => equipment.Properties))
{
SetParentsRecursively(prop);
}
}
private static void SetParentsRecursively(Property property)
{
foreach (var childProp in property.Properties)
{
childProp.Parent = property;
childProp.ParentPropertyId = property.Id;
SetParentsRecursively(childProp);
}
}
}