156 lines
5.8 KiB
C#
156 lines
5.8 KiB
C#
using Database;
|
|
using KlassenBIB;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace SanSystem
|
|
{
|
|
public partial class frmObjekteList : Form
|
|
{
|
|
|
|
private List<Inspektionsobjekt> inspektionsobjekte;
|
|
|
|
private void loadObjekte(string streetname)
|
|
{
|
|
dGObjekte.DataSource = null;
|
|
inspektionsobjekte = Datenbank.Instance.loadedProjekt.Objekte.FindAll(x => x.StrasseName.Equals(streetname));
|
|
|
|
dGObjekte.DataSource = inspektionsobjekte;
|
|
}
|
|
|
|
private bool CheckEntries()
|
|
{
|
|
for(int i = 0; i < dGObjekte.Rows.Count; i++)
|
|
{
|
|
DataGridViewRow dgvw = dGObjekte.Rows[i];
|
|
Inspektionsobjekt tmp = (Inspektionsobjekt)dgvw.DataBoundItem;
|
|
if (tmp == null) continue;
|
|
dgvw.DefaultCellStyle.BackColor = Color.White;
|
|
if (
|
|
(tmp.BisPunkt== null || tmp.BisPunkt.Equals(""))
|
|
|| (tmp.VonPunkt == null || tmp.VonPunkt.Equals(""))
|
|
|| (tmp.Objektbezeichnung == null || tmp.Objektbezeichnung.Equals(""))
|
|
|| tmp.Kanalrohrweite.Equals(0)
|
|
) dgvw.DefaultCellStyle.BackColor = Color.Olive;
|
|
if(tmp.Projektnummer == null) dgvw.DefaultCellStyle.BackColor = Color.Red;
|
|
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public frmObjekteList(string streetname)
|
|
{
|
|
InitializeComponent();
|
|
|
|
lbl_ort.Text = Global.Instance.language.Labels["ort"];
|
|
lbl_projekt.Text = Global.Instance.language.Labels["projekt"];
|
|
lbl_street.Text = Global.Instance.language.Labels["street"];
|
|
btn_add.Text = Global.Instance.language.Labels["add_objekt"];
|
|
|
|
|
|
gb_error_messages.Text = Global.Instance.language.Labels["error_messages"];
|
|
lbl_grounddata.Text = Global.Instance.language.Labels["error_groundData"];
|
|
lbl_projwrong.Text = Global.Instance.language.Labels["error_projwrong"];
|
|
|
|
label1.BackColor = Color.Red;
|
|
label5.BackColor = Color.Olive;
|
|
|
|
loadObjekte(streetname);
|
|
|
|
txt_strasse.Text = streetname;
|
|
|
|
string fehlermeldung = string.Empty;
|
|
// Prüfen nach Projektnummern
|
|
List<string> projektnummern = inspektionsobjekte.Select(x => x.Projektnummer).Distinct().ToList();
|
|
if (projektnummern.Count > 1) fehlermeldung = string.Format("{0}",Global.Instance.language.Fehlermeldungen["duplicate_projektnumber_in_street"]);
|
|
|
|
// Prüfen nach Ortnamen
|
|
List<string> ortnamen = inspektionsobjekte.Select(x => x.OrtName).Distinct().ToList();
|
|
if (ortnamen.Count > 1) fehlermeldung = string.Format("{0}\n\n{1}",fehlermeldung,Global.Instance.language.Fehlermeldungen["difference_ortnames_in_street"]);
|
|
|
|
if (!fehlermeldung.Equals(string.Empty)) MessageBox.Show(fehlermeldung, "Inhalt Fehler", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
|
|
|
|
txt_ort.Text = ortnamen.First();
|
|
|
|
if (projektnummern.First() == null)
|
|
{
|
|
MessageBox.Show(Global.Instance.language.Fehlermeldungen["wrong_project_number"], "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
string[] vs = projektnummern.First().Split('-');
|
|
if (vs.Length > 0)
|
|
txt_pro_nr_1.Text = vs[0];
|
|
if (vs.Length > 1)
|
|
txt_pro_nr_2.Text = vs[1];
|
|
if (vs.Length > 2)
|
|
txt_pro_nr_3.Text = vs[2];
|
|
|
|
}
|
|
|
|
private void frmObjekteList_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void dGObjekte_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
|
|
{
|
|
|
|
DataGridView dataGridView = (DataGridView)sender;
|
|
if (dataGridView == null) return;
|
|
DataGridViewSelectedRowCollection dataGridViewRowsSelect = dataGridView.SelectedRows;
|
|
|
|
|
|
if (dataGridViewRowsSelect.Count > 1) return;
|
|
|
|
DataGridViewRow dgvr = dataGridViewRowsSelect[0];
|
|
|
|
Inspektionsobjekt inspektionsobjekt = (Inspektionsobjekt)dgvr.DataBoundItem;
|
|
if (inspektionsobjekt == null) return;
|
|
|
|
frmObjektEdit frmObjektEdit = new frmObjektEdit(inspektionsobjekt);
|
|
frmObjektEdit.MdiParent = this.MdiParent;
|
|
frmObjektEdit.Show();
|
|
|
|
}
|
|
|
|
private void btn_add_Click(object sender, EventArgs e)
|
|
{
|
|
Inspektionsobjekt inspektionsobjekt = new Inspektionsobjekt();
|
|
Datenbank.Instance.loadedProjekt.Objekte.Add(inspektionsobjekt);
|
|
|
|
frmObjektEdit frmObjektEdit = new frmObjektEdit(inspektionsobjekt);
|
|
frmObjektEdit.FormClosed += FrmObjektEdit_FormClosed;
|
|
frmObjektEdit.ShowDialog();
|
|
}
|
|
|
|
private void FrmObjektEdit_FormClosed(object sender, FormClosedEventArgs e)
|
|
{
|
|
loadObjekte(txt_strasse.Text);
|
|
|
|
}
|
|
|
|
private void dGObjekte_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
|
|
{
|
|
CheckEntries();
|
|
dGObjekte.Columns["StrasseName"].Visible = false;
|
|
dGObjekte.Columns["OrtName"].Visible = false;
|
|
dGObjekte.Columns["Projektnummer"].Visible = false;
|
|
dGObjekte.Columns["Sanierung"].Visible = false;
|
|
}
|
|
|
|
private void dGObjekte_CellEndEdit(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
CheckEntries();
|
|
}
|
|
}
|
|
}
|