/// <summary> /// aktualizovanie vybraných tried /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnServer_Click(object sender, EventArgs e) { PoseidonData kontrolerPoseidon; VybranaFaza = cbxSelektFiltra.SelectedItem is eVSVlakFaza ? (eVSVlakFaza)cbxSelektFiltra.SelectedItem : eVSVlakFaza.Pozadavek_zkonstruovano; var meno = ConfigurationManager.AppSettings["Meno"]; var heslo = ConfigurationManager.AppSettings["Heslo"]; kontrolerPoseidon = PoseidonData.PoseidonConstruc(meno, heslo); if (kontrolerPoseidon == null) { Mwbox("Aplikácii sa nepodarilo prihlásiť, zrejme ste zadali nesprávne prihlasovacie údaje", "upoztornenie"); return; } if (_projekty == null) { _projekty = kontrolerPoseidon.Projekty; cbxSelektProjektu.DataSource = _projekty?.Select(c => c.Nazov).ToList(); Aktualizuj("Projekty", kontrolerPoseidon); } else { VybranyProjekt = _projekty.SingleOrDefault(c => c.Nazov == (string)cbxSelektProjektu.SelectedItem); if (VybranyProjekt == null) { Mwbox("Je potrebný vybrať projekt podla ktorého bude prebiehať aktualizácia", "Upozornenie"); return; } kontrolerPoseidon.SelektProjektu(VybranaFaza, VybranyProjekt); lblFilter.Text = "Vybraná fáza: " + VybranaFaza; lblSelekt.Text = "Vybraný projekt: " + VybranyProjekt.Nazov; _projekty = kontrolerPoseidon.Projekty; cbxSelektProjektu.DataSource = _projekty.Select(c => c.Nazov).ToList(); //Aktualizcácia Dát foreach (object itemChecked in chbxAktData.CheckedItems) { Aktualizuj(itemChecked.ToString(), kontrolerPoseidon); } kontrolerPoseidon.Logout(); Mwbox("Data sú aktualizované", "info"); } }
/// <summary> /// Vytvorenie uvítacieho okna /// </summary> /// <param name="projekt">Ak je rôzne od null okno sa bere ako nastavovacie</param> /// <param name="faza"></param> public UvitacieOkno(VSProject projekt, eVSVlakFaza faza) { InitializeComponent(); _projekty = DataZoSuboru.Nacitanie.ZoSuboru <VSProject[]>(@"Data\Projekty.json"); if (_projekty == null) { Mwbox("Projekty neboli zatiaľ stiahnuté, pre úspešné pokračovanie je potrebné kliknúť na tlačidlo Aktualizovať vybrané dáta", "Upozornenie"); } cbxSelektProjektu.DataSource = _projekty?.Select(c => c.Nazov).ToList(); cbxSelektFiltra.DataSource = Enum.GetValues(typeof(eVSVlakFaza)); if (projekt != null) { lblFilter.Text = "Vybraná fáza: " + faza; lblSelekt.Text = "Vybraný projekt: " + projekt.Nazov; cbxSelektProjektu.SelectedText = projekt.Nazov; cbxSelektFiltra.SelectedText = faza.ToString(); } }
/// <summary> /// pred ukončením poukladá potrebné atributy /// </summary> /// <param name="e"></param> protected override void OnFormClosing(FormClosingEventArgs e) { if (DialogResult == DialogResult.OK) { if (cbxMesto.SelectedItem != null && VybranyProjekt != null) { //VybranyDopravnyBod = _dopravneBody.SingleOrDefault(c => c.Nazov == (string) cbxMesto.SelectedItem); VybranyDopravnyBod = _dopravneBody[cbxMesto.SelectedIndex]; VybranaFaza = cbxSelektFiltra.SelectedItem is eVSVlakFaza ? (eVSVlakFaza)cbxSelektFiltra.SelectedItem : eVSVlakFaza.Pozadavek_zkonstruovano; VybranyProjekt = _projekty.SingleOrDefault(c => c.Nazov == (string)cbxSelektProjektu.SelectedItem); base.OnFormClosing(e); } else { Mwbox("Pre pokračovanie je potrebné načítať dáta a zvoliť mesto", "Upozornenie"); e.Cancel = true; } } }
/// <summary> /// Metóda zavolé uvítacie okno v ktorom sa nastavujú potrebné data /// </summary> /// <param name="uvitanie">true pri štarte ak je okno vypnuté vypne sa aj program | false ak sa menia len nastavenia</param> /// <returns></returns> private void NastavData(bool uvitanie) { using (var uvitacieOkno = new UvitacieOkno(_projekt, _faza)) { uvitacieOkno.ShowDialog(this); if (uvitacieOkno.DialogResult == DialogResult.OK) { _vybranyDopBod = uvitacieOkno.VybranyDopravnyBod; _faza = uvitacieOkno.VybranaFaza; _projekt = uvitacieOkno.VybranyProjekt; CestaProj = @"Data\" + _projekt.Nazov; CestaProjFaz = @"Data\" + _projekt.Nazov + "\\" + _faza; } else { if (uvitanie) { Close(); } } } }
/// <summary> /// Vyber projektu, potrebné vykonať pred akoukolvek inou metodou /// </summary> /// <param name="faza"></param> /// <param name="project"></param> /// <returns></returns> public bool SelektProjektu(eVSVlakFaza faza, VSProject project) { var filter = new VSVlakFilter(); return(_poseidon.SelectProject(project, filter)); }