private void FillSingleCarData() { TreeNode tm2; int b; int row = 0; int fuvarCim; try { workTree.Nodes.Clear(); workTree.BeginUpdate(); Auto auto = (Auto)statview.Tag; List <WorkData> ids; for (int nsz = 0; nsz < 3; nsz++) { b = 1; fuvarCim = 1; groupIndex[nsz] = row; for (int a = 0; a < auto.NapszakForduloSzam(nsz); a++) { ids = auto.GetFuvarAt(nsz, a); foreach (WorkData ma in ids) { tm2 = workTree.Nodes.Add(auto.Info, string.Format("{0}.{1} {2}", fuvarCim++, b, ma.GetInfo(WorkData.ShowWorksheetNumber, true, true, true))); tm2.BackColor = napszakColors[nsz]; tm2.ForeColor = nsz > 1 ? Color.White : Color.Black; tm2.ContextMenuStrip = contextMenuStrip1; tm2.Tag = a; row++; browser.Document.InvokeScript("setAutoInfo", new object[] { ma.Number, auto.Index, b }); } if (ids.Count > 0) { b++; } } } workTree.EndUpdate(); } catch (Exception ex) { } }
private void fixateBtn_Click(object sender, EventArgs e) { if (statview.Tag != null) { Auto activeVehicle = (Auto)statview.Tag; if (actualWorkSet.Count > 0) { if (remaining < actualWorkSet.Count) { MessageBox.Show("Az aktív járműnek nincs elég szabad címe a napszakban.\nAz összeszívás nem lehetséges.", "Nincs szabad cím", MessageBoxButtons.OK, MessageBoxIcon.Error); fuvarTörléseToolStripMenuItem_Click(null, null); return; } if (groupCapacity > 0) { if (MessageBox.Show("A jármű tartályában " + groupCapacity + " m3-nyi hely maradt.\n Mégis lezárjam a fordulót?", "Szabad kapacitás maradt", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { fuvarTörléseToolStripMenuItem_Click(null, null); return; } } if (groupCapacity < 0) { if (MessageBox.Show("A jármű kapacitása " + (-groupCapacity) + " m3-rel túl van terhelve.\n Mégis lezárjam a fordulót?", "Túlterhelés", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { fuvarTörléseToolStripMenuItem_Click(null, null); return; } } int dist = Uthossz(actualWorkSet.ToArray()); double limit = activeVehicle.Kapacitas <= WorkData.HatarKapacitas ? Properties.Settings.Default.otkm : Properties.Settings.Default.tizkm; if (limit > 0 && dist + activeVehicle.OsszTavolsag > limit) { if (MessageBox.Show("A jármű összes km értéke meghaladja a beállított limitet.\nFolytatja?", "Távolságlimit túllépés", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { fuvarTörléseToolStripMenuItem_Click(null, null); return; } } WorkData wd; List <WorkData> workGroup = new List <WorkData>(); foreach (int tid in actualWorkSet) { wd = partialRepo[tid]; if (wd.Kobmeter != WorkData.HatarKapacitas) { unfive[activePeriod]--; smallM3 -= wd.Kobmeter; kism3Unmap.Text = smallM3.ToString(); } else { unbig[activePeriod]--; bigM3 -= wd.Kobmeter; nagym3Unmap.Text = bigM3.ToString(); } workGroup.Add(wd); AppLogger.WriteMapping(activeVehicle.Rendszam, wd.Cim); browser.Document.InvokeScript("hide", new object[] { tid, activeVehicle.Index, activeVehicle.NapszakForduloSzam(activePeriod) + 1 }); } if (actualWorkSet.Count > 0) { savedState++; activeVehicle.AddFuvar(workGroup, dist); remaining = activeVehicle.SzabadCimek(activePeriod); aktualisMenet.Text = remaining.ToString(); groupCapacity = activeVehicle.Kapacitas; foreach (int id in actualWorkSet) { RestoreJunction(id); } FillSingleCarData(); } unFiveLabel[activePeriod].Text = unfive[activePeriod].ToString(); unBigLabel[activePeriod].Text = unbig[activePeriod].ToString(); if (leftTab.SelectedIndex == 0) { UpdateStat(); } else { UpdateCimlista(); } } } actualWorkSet.Clear(); clickedGroup.Items.Clear(); }