private void btnPrijaviSe_Click(object sender, EventArgs e) { string msg; if (!IcOK(out msg)) { MessageBox.Show(msg, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); return; } MTrenisClient c = new MTrenisClient(); try { Skladistar s = c.OvjeriKorisnika(ddlKorisnik.SelectedValue.ToString(), txtLozinka.Text, terminal.macAdrese[0]); KSkladistar ks = new KSkladistar(ddlKorisnik.SelectedValue.ToString(), s.ime, s.prezime, txtLozinka.Text); terminal.skladištar = ks; ((_FormBazna_)this.Owner).terminal = this.terminal; } catch (FaultException<MTrenisKvar> ex) { MessageBox.Show(ex.Detail.opis, ex.Detail.oznaka.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { MessageBox.Show(ex.Message, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { if (c != null && c.State != CommunicationState.Closed) { c.Close(); } } this.Close(); }
/// <summary> /// Pokušava automatsku prijavu u aplikaciju ako su postavljeni odgovarajući atributi u app.configu. /// Potiho nastavlja rad ako dođe do greške, tj. ako nema podataka za autoprijavu, po "On Error Resume Next" paradigmi. :-) /// </summary> private static void PokušajAutoPrijavu() { MTrenisSVC.MTrenisSVC ws = new MTrenis.MTrenisSVC.MTrenisSVC(); ws.Url = Terminal.postavke["WS"]; try { string zadaniKorisnikMBr = Terminal.postavke["ZadaniKorisnikMBr"]; string zadaniKorisnikPwd = Terminal.postavke["ZadaniKorisnikPwd"]; if (String.IsNullOrEmpty(zadaniKorisnikMBr) || String.IsNullOrEmpty(zadaniKorisnikPwd)) { return; } Skladistar s = ws.OvjeriKorisnika(zadaniKorisnikMBr, zadaniKorisnikPwd, Terminal.macAdrese[0]); // Autoprijava se uvijek provodi ako i samo ako je uspio dohvat mrežnih sučelja. KSkladistar ks = new KSkladistar(zadaniKorisnikMBr, s.ime, s.prezime, zadaniKorisnikPwd); Terminal.skladištar = ks; } catch (Exception) { throw; } finally { if (ws != null) { ws.Dispose(); } } }
/// <summary> /// Pokušava automatsku prijavu u aplikaciju ako su postavljeni odgovarajući atributi u app.configu. /// Potiho nastavlja rad ako dođe do greške, tj. ako nema podataka za autoprijavu,, po "On Error Resume Next" paradigmi. :-) /// </summary> /// <param name="_terminal">Objekt u kojega se sprema prijavljeni korisnik.</param> private static void PokušajAutoPrijavu(ref Terminal _terminal) { MTrenisClient c = new MTrenisClient(); try { string zadaniKorisnikMBr = ConfigurationManager.AppSettings["ZadaniKorisnikMBr"]; string zadaniKorisnikPwd = ConfigurationManager.AppSettings["ZadaniKorisnikPwd"]; if (String.IsNullOrEmpty(zadaniKorisnikMBr) || String.IsNullOrEmpty(zadaniKorisnikPwd)) { return; } Skladistar s = c.OvjeriKorisnika(zadaniKorisnikMBr, zadaniKorisnikPwd, _terminal.macAdrese[0]); // Autoprijava se uvijek provodi ako i samo ako je uspio dohvat mrežnih sučelja. KSkladistar ks = new KSkladistar(zadaniKorisnikMBr, s.ime, s.prezime, zadaniKorisnikPwd); _terminal.skladištar = ks; } catch (ConfigurationErrorsException) { // Pojeo vuk magare iliti On error resume next. } catch (Exception) { throw; } finally { if (c != null && c.State != CommunicationState.Closed) { c.Close(); } } }