Im Tätigkeiten können nun die LV Positionen

ausgewählt werden
This commit is contained in:
Husky
2020-04-14 19:18:49 +02:00
parent b24e724cd3
commit b8cfbe11ce
9 changed files with 760 additions and 11 deletions

View File

@@ -0,0 +1,637 @@
// <auto-generated />
using System;
using KanSan.Base;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace KanSan.Base.Migrations
{
[DbContext(typeof(KanSanContext))]
[Migration("20200414171536_TypoTaetigkeit")]
partial class TypoTaetigkeit
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
.HasAnnotation("ProductVersion", "3.1.3")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
modelBuilder.Entity("KanSan.Base.Models.Baustelle", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("BaustelleNummer")
.HasColumnType("text");
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<string>("OrtTeil")
.HasColumnType("text");
b.Property<int?>("ProjektID")
.HasColumnType("integer");
b.HasKey("ID");
b.HasIndex("ProjektID");
b.ToTable("Baustelle");
});
modelBuilder.Entity("KanSan.Base.Models.BaustelleLeistungsverzeichnisReferenz", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int?>("BaustelleID")
.HasColumnType("integer");
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<int?>("LVPositionID")
.HasColumnType("integer");
b.HasKey("ID");
b.HasIndex("BaustelleID");
b.HasIndex("LVPositionID");
b.ToTable("LeistungsverzeichnisBaustellen");
});
modelBuilder.Entity("KanSan.Base.Models.Fahrzeug", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<string>("Kennzeichen")
.HasColumnType("text");
b.HasKey("ID");
b.ToTable("Fahrzeuge");
});
modelBuilder.Entity("KanSan.Base.Models.GueteschutzProtokoll", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int>("AussenTemp")
.HasColumnType("integer");
b.Property<bool>("Bericht")
.HasColumnType("boolean");
b.Property<bool>("Dichtheit")
.HasColumnType("boolean");
b.Property<string>("Discriminator")
.IsRequired()
.HasColumnType("text");
b.Property<bool>("Film")
.HasColumnType("boolean");
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<int>("KanalTemp")
.HasColumnType("integer");
b.Property<int?>("SchadPositionID")
.HasColumnType("integer");
b.Property<bool>("Sichtkontrolle")
.HasColumnType("boolean");
b.Property<bool>("Video")
.HasColumnType("boolean");
b.Property<int>("Wetter")
.HasColumnType("integer");
b.HasKey("ID");
b.HasIndex("SchadPositionID");
b.ToTable("GueteschutzProtokoll");
b.HasDiscriminator<string>("Discriminator").HasValue("GueteschutzProtokoll");
});
modelBuilder.Entity("KanSan.Base.Models.Kunde", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<string>("Nachname")
.HasColumnType("text");
b.Property<string>("Ort")
.HasColumnType("text");
b.Property<string>("PLZ")
.HasColumnType("text");
b.Property<string>("Strasse")
.HasColumnType("text");
b.Property<string>("Vorname")
.HasColumnType("text");
b.HasKey("ID");
b.ToTable("Kunden");
});
modelBuilder.Entity("KanSan.Base.Models.LeistungsverzeichnisPosition", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Beschreibung")
.HasColumnType("text");
b.Property<string>("Einheit")
.HasColumnType("text");
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<string>("Positionsnummer")
.HasColumnType("text");
b.Property<string>("Tag")
.HasColumnType("text");
b.HasKey("ID");
b.ToTable("LeistungsverzeichnisPositionen");
});
modelBuilder.Entity("KanSan.Base.Models.Projekt", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<int?>("KundeID")
.HasColumnType("integer");
b.Property<string>("Ort")
.HasColumnType("text");
b.Property<string>("Projektnummer")
.HasColumnType("text");
b.HasKey("ID");
b.HasIndex("KundeID");
b.ToTable("Projekte");
});
modelBuilder.Entity("KanSan.Base.Models.Sanierungskonzept", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<int>("SanierungsTyp")
.HasColumnType("integer");
b.HasKey("ID");
b.ToTable("Sanierungskonzept");
});
modelBuilder.Entity("KanSan.Base.Models.Schaeden", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<decimal>("Entfernung")
.HasColumnType("numeric");
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<bool>("Infiltration")
.HasColumnType("boolean");
b.Property<bool>("RissBruchScherbe")
.HasColumnType("boolean");
b.Property<int>("SanierungsTyp")
.HasColumnType("integer");
b.Property<int?>("SanierungskonzeptID")
.HasColumnType("integer");
b.Property<bool>("SchadstelleFaekalienFrei")
.HasColumnType("boolean");
b.Property<int?>("SewerID")
.HasColumnType("integer");
b.Property<bool>("StutzenEinragend")
.HasColumnType("boolean");
b.Property<bool>("VorbehandeltFraeser")
.HasColumnType("boolean");
b.Property<bool>("VorbehandeltHD")
.HasColumnType("boolean");
b.Property<bool>("VorbehandeltMech")
.HasColumnType("boolean");
b.Property<bool>("WurzelInkrustationAblagerungen")
.HasColumnType("boolean");
b.HasKey("ID");
b.HasIndex("SanierungskonzeptID");
b.HasIndex("SewerID");
b.ToTable("Schaeden");
});
modelBuilder.Entity("KanSan.Base.Models.Sewer", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int?>("BaustelleID")
.HasColumnType("integer");
b.Property<bool>("BaustellensicherungErforderlich")
.HasColumnType("boolean");
b.Property<int>("DN")
.HasColumnType("integer");
b.Property<bool>("GenehmigungErforderlich")
.HasColumnType("boolean");
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<bool>("HaltungGespuelt")
.HasColumnType("boolean");
b.Property<decimal>("Haltungslaenge")
.HasColumnType("numeric");
b.Property<int>("Material")
.HasColumnType("integer");
b.Property<string>("ObjektNummer")
.HasColumnType("text");
b.Property<int?>("PunktObenID")
.HasColumnType("integer");
b.Property<int>("PunktTypeOben")
.HasColumnType("integer");
b.Property<int>("PunktTypeUnten")
.HasColumnType("integer");
b.Property<int?>("PunktUntenID")
.HasColumnType("integer");
b.Property<bool>("RohrleitungInBetrieb")
.HasColumnType("boolean");
b.Property<int>("SewerType")
.HasColumnType("integer");
b.Property<string>("StrasseName")
.HasColumnType("text");
b.Property<bool>("WasserHaltungDurchgefuehrt")
.HasColumnType("boolean");
b.HasKey("ID");
b.HasIndex("BaustelleID");
b.HasIndex("PunktObenID");
b.HasIndex("PunktUntenID");
b.ToTable("Kanaele");
});
modelBuilder.Entity("KanSan.Base.Models.SewerPoint", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<string>("Objektnummer")
.HasColumnType("text");
b.HasKey("ID");
b.ToTable("SewerPoints");
});
modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<decimal>("Anzahl")
.HasColumnType("numeric");
b.Property<string>("Bemerkung")
.HasColumnType("text");
b.Property<int?>("FahrzeugID")
.HasColumnType("integer");
b.Property<int?>("GueteschutzProtokolID")
.HasColumnType("integer");
b.Property<Guid>("GuidNr")
.HasColumnType("uuid");
b.Property<int?>("LeistungsverzeichnisPositionID")
.HasColumnType("integer");
b.Property<string>("Mitarbeiter")
.HasColumnType("text");
b.Property<int?>("SanierungskonzeptID")
.HasColumnType("integer");
b.Property<DateTime>("ZeitStempel")
.HasColumnType("timestamp without time zone");
b.HasKey("ID");
b.HasIndex("FahrzeugID");
b.HasIndex("GueteschutzProtokolID");
b.HasIndex("LeistungsverzeichnisPositionID");
b.HasIndex("SanierungskonzeptID");
b.ToTable("Taetigkeiten");
});
modelBuilder.Entity("KanSan.Base.Models.HutprofilSan", b =>
{
b.HasBaseType("KanSan.Base.Models.GueteschutzProtokoll");
b.Property<DateTime>("AnpressenPacker")
.HasColumnType("timestamp without time zone");
b.Property<bool>("Auffaelligkeit")
.HasColumnType("boolean");
b.Property<DateTime>("EntlueftenPacker")
.HasColumnType("timestamp without time zone");
b.Property<bool>("FixierungAufPacker")
.HasColumnType("boolean");
b.Property<int>("Flaechengewicht")
.HasColumnType("integer");
b.Property<string>("HarzMaterialArt")
.HasColumnType("text");
b.Property<string>("HarzmaterialHersteller")
.HasColumnType("text");
b.Property<bool>("InnenBeschichtung")
.HasColumnType("boolean");
b.Property<string>("KompACharge")
.HasColumnType("text");
b.Property<string>("KompBCharge")
.HasColumnType("text");
b.Property<DateTime>("MischZeit")
.HasColumnType("timestamp without time zone");
b.Property<double>("PackerDruckAnfang")
.HasColumnType("double precision");
b.Property<double>("PackerDruckEnde")
.HasColumnType("double precision");
b.Property<string>("RohrDN")
.HasColumnType("text");
b.Property<double>("SeitenKanalDruckAnfang")
.HasColumnType("double precision");
b.Property<double>("SeitenKanalDruckEnde")
.HasColumnType("double precision");
b.Property<string>("TraegerCharge")
.HasColumnType("text");
b.Property<string>("TraegerHersteller")
.HasColumnType("text");
b.Property<string>("TraegerKurzliner")
.HasColumnType("text");
b.Property<string>("Winkel")
.HasColumnType("text");
b.HasDiscriminator().HasValue("HutprofilSan");
});
modelBuilder.Entity("KanSan.Base.Models.KurzlinerSan", b =>
{
b.HasBaseType("KanSan.Base.Models.GueteschutzProtokoll");
b.Property<DateTime>("AnpressenPacker")
.HasColumnType("timestamp without time zone");
b.Property<bool>("Auffaelligkeit")
.HasColumnType("boolean");
b.Property<double>("Breit")
.HasColumnType("double precision");
b.Property<DateTime>("EntlueftenPacker")
.HasColumnType("timestamp without time zone");
b.Property<bool>("FixierungAufPacker")
.HasColumnType("boolean");
b.Property<int>("Flaechengewicht")
.HasColumnType("integer");
b.Property<string>("HarzMaterialArt")
.HasColumnType("text");
b.Property<string>("HarzmaterialHersteller")
.HasColumnType("text");
b.Property<string>("KompACharge")
.HasColumnType("text");
b.Property<string>("KompBCharge")
.HasColumnType("text");
b.Property<double>("Lang")
.HasColumnType("double precision");
b.Property<DateTime>("MischZeit")
.HasColumnType("timestamp without time zone");
b.Property<double>("PackerDruckAnfang")
.HasColumnType("double precision");
b.Property<double>("PackerDruckEnde")
.HasColumnType("double precision");
b.Property<string>("TraegerCharge")
.HasColumnType("text");
b.Property<string>("TraegerHersteller")
.HasColumnType("text");
b.Property<string>("TraegerKurzliner")
.HasColumnType("text");
b.HasDiscriminator().HasValue("KurzlinerSan");
});
modelBuilder.Entity("KanSan.Base.Models.Baustelle", b =>
{
b.HasOne("KanSan.Base.Models.Projekt", "Projekt")
.WithMany()
.HasForeignKey("ProjektID");
});
modelBuilder.Entity("KanSan.Base.Models.BaustelleLeistungsverzeichnisReferenz", b =>
{
b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle")
.WithMany()
.HasForeignKey("BaustelleID");
b.HasOne("KanSan.Base.Models.LeistungsverzeichnisPosition", "LVPosition")
.WithMany()
.HasForeignKey("LVPositionID");
});
modelBuilder.Entity("KanSan.Base.Models.GueteschutzProtokoll", b =>
{
b.HasOne("KanSan.Base.Models.Schaeden", "SchadPosition")
.WithMany()
.HasForeignKey("SchadPositionID");
});
modelBuilder.Entity("KanSan.Base.Models.Projekt", b =>
{
b.HasOne("KanSan.Base.Models.Kunde", "Kunde")
.WithMany("Baustellen")
.HasForeignKey("KundeID");
});
modelBuilder.Entity("KanSan.Base.Models.Schaeden", b =>
{
b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept")
.WithMany()
.HasForeignKey("SanierungskonzeptID");
b.HasOne("KanSan.Base.Models.Sewer", "Sewer")
.WithMany("Schaeden")
.HasForeignKey("SewerID");
});
modelBuilder.Entity("KanSan.Base.Models.Sewer", b =>
{
b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle")
.WithMany("Kanaele")
.HasForeignKey("BaustelleID");
b.HasOne("KanSan.Base.Models.SewerPoint", "PunktOben")
.WithMany()
.HasForeignKey("PunktObenID");
b.HasOne("KanSan.Base.Models.SewerPoint", "PunktUnten")
.WithMany()
.HasForeignKey("PunktUntenID");
});
modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b =>
{
b.HasOne("KanSan.Base.Models.Fahrzeug", "Fahrzeug")
.WithMany()
.HasForeignKey("FahrzeugID");
b.HasOne("KanSan.Base.Models.GueteschutzProtokoll", "GueteschutzProtokol")
.WithMany()
.HasForeignKey("GueteschutzProtokolID");
b.HasOne("KanSan.Base.Models.LeistungsverzeichnisPosition", "LeistungsverzeichnisPosition")
.WithMany()
.HasForeignKey("LeistungsverzeichnisPositionID");
b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept")
.WithMany("Taetigkeiten")
.HasForeignKey("SanierungskonzeptID");
});
#pragma warning restore 612, 618
}
}
}

View File

@@ -0,0 +1,74 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace KanSan.Base.Migrations
{
public partial class TypoTaetigkeit : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Taetigkeiten_LeistungsverzeichnisPositionen_Leitungsverzeic~",
table: "Taetigkeiten");
migrationBuilder.DropIndex(
name: "IX_Taetigkeiten_LeitungsverzeichnisPositionID",
table: "Taetigkeiten");
migrationBuilder.DropColumn(
name: "LeitungsverzeichnisPositionID",
table: "Taetigkeiten");
migrationBuilder.AddColumn<int>(
name: "LeistungsverzeichnisPositionID",
table: "Taetigkeiten",
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_Taetigkeiten_LeistungsverzeichnisPositionID",
table: "Taetigkeiten",
column: "LeistungsverzeichnisPositionID");
migrationBuilder.AddForeignKey(
name: "FK_Taetigkeiten_LeistungsverzeichnisPositionen_Leistungsverzei~",
table: "Taetigkeiten",
column: "LeistungsverzeichnisPositionID",
principalTable: "LeistungsverzeichnisPositionen",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Taetigkeiten_LeistungsverzeichnisPositionen_Leistungsverzei~",
table: "Taetigkeiten");
migrationBuilder.DropIndex(
name: "IX_Taetigkeiten_LeistungsverzeichnisPositionID",
table: "Taetigkeiten");
migrationBuilder.DropColumn(
name: "LeistungsverzeichnisPositionID",
table: "Taetigkeiten");
migrationBuilder.AddColumn<int>(
name: "LeitungsverzeichnisPositionID",
table: "Taetigkeiten",
type: "integer",
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_Taetigkeiten_LeitungsverzeichnisPositionID",
table: "Taetigkeiten",
column: "LeitungsverzeichnisPositionID");
migrationBuilder.AddForeignKey(
name: "FK_Taetigkeiten_LeistungsverzeichnisPositionen_Leitungsverzeic~",
table: "Taetigkeiten",
column: "LeitungsverzeichnisPositionID",
principalTable: "LeistungsverzeichnisPositionen",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
}
}
}

View File

@@ -403,7 +403,7 @@ namespace KanSan.Base.Migrations
b.Property<Guid>("GuidNr") b.Property<Guid>("GuidNr")
.HasColumnType("uuid"); .HasColumnType("uuid");
b.Property<int?>("LeitungsverzeichnisPositionID") b.Property<int?>("LeistungsverzeichnisPositionID")
.HasColumnType("integer"); .HasColumnType("integer");
b.Property<string>("Mitarbeiter") b.Property<string>("Mitarbeiter")
@@ -421,7 +421,7 @@ namespace KanSan.Base.Migrations
b.HasIndex("GueteschutzProtokolID"); b.HasIndex("GueteschutzProtokolID");
b.HasIndex("LeitungsverzeichnisPositionID"); b.HasIndex("LeistungsverzeichnisPositionID");
b.HasIndex("SanierungskonzeptID"); b.HasIndex("SanierungskonzeptID");
@@ -621,9 +621,9 @@ namespace KanSan.Base.Migrations
.WithMany() .WithMany()
.HasForeignKey("GueteschutzProtokolID"); .HasForeignKey("GueteschutzProtokolID");
b.HasOne("KanSan.Base.Models.LeistungsverzeichnisPosition", "LeitungsverzeichnisPosition") b.HasOne("KanSan.Base.Models.LeistungsverzeichnisPosition", "LeistungsverzeichnisPosition")
.WithMany() .WithMany()
.HasForeignKey("LeitungsverzeichnisPositionID"); .HasForeignKey("LeistungsverzeichnisPositionID");
b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept") b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept")
.WithMany("Taetigkeiten") .WithMany("Taetigkeiten")

View File

@@ -12,7 +12,7 @@ namespace KanSan.Base.Models
public string Mitarbeiter { get; set; } public string Mitarbeiter { get; set; }
public DateTime ZeitStempel { get; set; } public DateTime ZeitStempel { get; set; }
//public decimal Position { get; set; } //public decimal Position { get; set; }
public LeistungsverzeichnisPosition LeitungsverzeichnisPosition { get; set; } public LeistungsverzeichnisPosition LeistungsverzeichnisPosition { get; set; }
public decimal Anzahl { get; set; } public decimal Anzahl { get; set; }
public GueteschutzProtokoll GueteschutzProtokol { get; set; } public GueteschutzProtokoll GueteschutzProtokol { get; set; }
public string Bemerkung { get; set; } public string Bemerkung { get; set; }

View File

@@ -99,11 +99,11 @@ namespace KanSan.ViewModel
if(_bs == null) if(_bs == null)
{ {
if (selectedBaustelle == null) return false; if (selectedBaustelle == null) return false;
//_bs = unitOfWork.LeistungsverzeichnisReferenz.Get(x => x.Baustelle.Equals(selectedBaustelle)).ToList(); _bs = unitOfWork.LeistungsverzeichnisReferenz.Get(x => x.Baustelle.Equals(selectedBaustelle)).ToList();
} }
return false; //return false;
//List<BaustelleLeistungsverzeichnisReferenz> d = _bs.FindAll(x => x.LVPosition.GuidNr.Equals(ps.GuidNr)); List<BaustelleLeistungsverzeichnisReferenz> d = _bs.FindAll(x => x.LVPosition.GuidNr.Equals(ps.GuidNr));
//return (d.Count > 0); return (d.Count > 0);
} }
private void buildLeistungsverzeichnisList() private void buildLeistungsverzeichnisList()

View File

@@ -23,6 +23,8 @@ namespace KanSan.ViewModel
private Projekt _selectedProjekt; private Projekt _selectedProjekt;
private Baustelle _selectedBaustelle; private Baustelle _selectedBaustelle;
private Sewer _selectedObjekt; private Sewer _selectedObjekt;
public static Baustelle Baustelle;
public string ApplicationTitle public string ApplicationTitle
@@ -90,6 +92,7 @@ namespace KanSan.ViewModel
if (_selectedBaustelle.GuidNr.Equals(value.GuidNr)) return; if (_selectedBaustelle.GuidNr.Equals(value.GuidNr)) return;
} }
_selectedBaustelle = value; _selectedBaustelle = value;
MainWindowViewModel.Baustelle = value;
SaveInRegistry("LastBaustelle", value.GuidNr.ToString()); SaveInRegistry("LastBaustelle", value.GuidNr.ToString());
OnPropertyChanged(); OnPropertyChanged();
} }
@@ -153,7 +156,11 @@ namespace KanSan.ViewModel
if (baustellenGuid != null) if (baustellenGuid != null)
{ {
IEnumerable<Baustelle> loadedBaustelle = unitOfWork.BaustelleRepository.Get(x => x.GuidNr.Equals(baustellenGuid)); IEnumerable<Baustelle> loadedBaustelle = unitOfWork.BaustelleRepository.Get(x => x.GuidNr.Equals(baustellenGuid));
if (loadedBaustelle.Count() == 1) _selectedBaustelle = loadedBaustelle.First(); if (loadedBaustelle.Count() == 1)
{
_selectedBaustelle = loadedBaustelle.First();
MainWindowViewModel.Baustelle = _selectedBaustelle;
}
} }
} }
} }

View File

@@ -5,6 +5,7 @@ using KanSan.Base.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Diagnostics;
using System.Text; using System.Text;
namespace KanSan.ViewModel namespace KanSan.ViewModel
@@ -19,6 +20,7 @@ namespace KanSan.ViewModel
string bemerkung; string bemerkung;
Taetigkeiten model; Taetigkeiten model;
LeistungsverzeichnisPosition leistungsverzeichnis; LeistungsverzeichnisPosition leistungsverzeichnis;
List<LeistungsverzeichnisPosition> lvPositionen;
#region getsetters #region getsetters
public Fahrzeug Fahrzeug public Fahrzeug Fahrzeug
{ {
@@ -81,6 +83,10 @@ namespace KanSan.ViewModel
OnPropertyChanged(); OnPropertyChanged();
} }
} }
public List<LeistungsverzeichnisPosition> LVPositionen
{
get => lvPositionen;
}
#endregion #endregion
public TaetigkeitEditViewModel(Taetigkeiten taetigkeiten) public TaetigkeitEditViewModel(Taetigkeiten taetigkeiten)
@@ -91,6 +97,14 @@ namespace KanSan.ViewModel
zeitStempel = model.ZeitStempel; zeitStempel = model.ZeitStempel;
bemerkung = model.Bemerkung; bemerkung = model.Bemerkung;
fahrzeug = model.Fahrzeug; fahrzeug = model.Fahrzeug;
leistungsverzeichnis = model.LeistungsverzeichnisPosition;
IEnumerable<BaustelleLeistungsverzeichnisReferenz> baustelleLeistungsverzeichnis = unitOfWork.LeistungsverzeichnisReferenz.Get(x => x.Baustelle.Equals(MainWindowViewModel.Baustelle),includeProperties:"LVPosition");
lvPositionen = new List<LeistungsverzeichnisPosition>();
foreach(BaustelleLeistungsverzeichnisReferenz referenz in baustelleLeistungsverzeichnis)
{
lvPositionen.Add(referenz.LVPosition);
}
} }
public void Speichern() public void Speichern()
@@ -100,6 +114,7 @@ namespace KanSan.ViewModel
model.ZeitStempel = zeitStempel; model.ZeitStempel = zeitStempel;
model.Bemerkung = bemerkung; model.Bemerkung = bemerkung;
model.Fahrzeug = fahrzeug; model.Fahrzeug = fahrzeug;
model.LeistungsverzeichnisPosition = leistungsverzeichnis;
unitOfWork.TaetigkeitenRepository.Update(model); unitOfWork.TaetigkeitenRepository.Update(model);
unitOfWork.Commit(); unitOfWork.Commit();

View File

@@ -23,7 +23,16 @@
<RowDefinition Height="320*" /> <RowDefinition Height="320*" />
<RowDefinition Height="73*" /> <RowDefinition Height="73*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<ComboBox ItemsSource="{Binding Baustellen}" Name="Baustellen" SelectionChanged="Baustellen_SelectionChanged" /> <ComboBox ItemsSource="{Binding Baustellen}" Name="Baustellen" SelectionChanged="Baustellen_SelectionChanged">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding BaustelleNummer}" />
<TextBlock Text="{Binding OrtTeil}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<DataGrid Grid.Row="1" Name="Leistungsverzeichnis" ItemsSource="{Binding LeistungsverzeichnisPositionen}" AutoGenerateColumns="False"> <DataGrid Grid.Row="1" Name="Leistungsverzeichnis" ItemsSource="{Binding LeistungsverzeichnisPositionen}" AutoGenerateColumns="False">
<DataGrid.RowStyle> <DataGrid.RowStyle>

View File

@@ -50,6 +50,13 @@
<TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Mitarbeiter}" /> <TextBox Grid.Row="0" Grid.Column="1" Text="{Binding Mitarbeiter}" />
<Calendar Style="{StaticResource DefaultCalendar}" Grid.Row="2" Grid.Column="1" Name="Calender" SelectedDate="{Binding ZeitStempel}"/> <Calendar Style="{StaticResource DefaultCalendar}" Grid.Row="2" Grid.Column="1" Name="Calender" SelectedDate="{Binding ZeitStempel}"/>
<ComboBox Grid.Row="3" Grid.Column="1" ItemsSource="{Binding LVPositionen}" SelectedItem="{Binding Leistungsverzeichnis}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Beschreibung}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBox Grid.Row="4" Grid.Column="1" Text="{Binding Anzahl}" /> <TextBox Grid.Row="4" Grid.Column="1" Text="{Binding Anzahl}" />
<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding Bemerkung}"/> <TextBox Grid.Row="5" Grid.Column="1" Text="{Binding Bemerkung}"/>