Files
Kanalsanierungsverwaltung/SanSystem/frmObjekteList.cs
Husky d30876db34 Languages
Multilanguage hinzugefügt muss noch weiter umgebaut werden

Bei fehlerhafte projektnummern, wird die zeile rot dargestellt
2018-06-30 13:39:12 +02:00

135 lines
4.7 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;
if(tmp.Projektnummer == null) dGObjekte.Rows[i].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"];
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)
{
//dGObjekte.Rows[0].DefaultCellStyle.BackColor = Color.Red;
CheckEntries();
}
}
}