public FormRobneLokacije(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); dgvRobneLokacije.AutoGenerateColumns = false; CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. txtŠifraIliBarkod.Select(); ddlSkladište.DataSource = this.katalog.skladišta; try { zadanoSkladište = ConfigurationManager.AppSettings["ZadanoSkladište"]; if (String.IsNullOrEmpty(zadanoSkladište)) { return; } for (int i = 0; i < ddlSkladište.Items.Count; i++) { if (((KSkladiste)ddlSkladište.Items[i]).oznaka == ConfigurationManager.AppSettings["ZadanoSkladište"]) { ddlSkladište.SelectedIndex = i; break; } } } catch (ConfigurationErrorsException) { // Pojeo vuk magare iliti On error resume next. } }
private List<KSkladistar> DajPopisSkladištara(ref Terminal _terminal) { List<KSkladistar> entities = new List<KSkladistar>(); MTrenisClient c = new MTrenisClient(); try { string[] macAdrese = new string[_terminal.macAdrese.Count]; for (int i = 0; i < _terminal.macAdrese.Count; i++) { macAdrese[i] = _terminal.macAdrese[i]; } Skladistar[] k = c.DohvatiKorisnikeTerminala(macAdrese); for (int i = 0; i < k.Length; i++) { entities.Add(new KSkladistar(k[i].mBr, k[i].ime, k[i].prezime, null)); } } catch (Exception) { throw; } finally { if (c != null && c.State != CommunicationState.Closed) { c.Close(); } } return entities; }
public FormNalog(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje, KNalog _nalog) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); dgvNalog.AutoGenerateColumns = false; dgvNalog.Columns["colPromet"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dgvNalog.Columns["colSken"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; this.nalog = _nalog; txtDok.Focus(); CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. if (nalog != null) { txtDok.Text = this.nalog.dokVrsta + this.nalog.sklaOznaka + (this.nalog.dokVrsta == "PSS" ? this.nalog.sklaOznakaPSS : String.Empty) + this.nalog.dokBr + ((from r in this.katalog.dokumenti where r.vrsta == this.nalog.dokVrsta select r).Single().oznaka); PrikažiNalog( this.nalog.sklaOznaka, this.nalog.sklaOznakaPSS, this.nalog.dokVrsta, this.nalog.dokBr, this.nalog.smjer); } }
public FormOtprema(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); dgvDok.AutoGenerateColumns = false; dgvLok.AutoGenerateColumns = false; CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. }
public FormInvUpisnik(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje, KInventura _inventura) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); this.inventura = _inventura; txtLokacija.Focus(); CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. }
public ModalIzlaznaLokacija(Terminal _terminal, KNalog _nalog) { InitializeComponent(); this.terminal = _terminal; this.nalog = _nalog; CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. txtIzLok.Focus(); }
public FormRobniIzlaz(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje, KNalog _nalog, KStavkaNaloga _stavka) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); dgvLok.AutoGenerateColumns = false; this.nalog = _nalog; this.stavka = _stavka; lblRoba.Text = stavka.roba.sifra + Environment.NewLine + stavka.roba.naziv + Environment.NewLine + "količina: " + stavka.zadaniPromet.ToString() + Environment.NewLine + "za sken: " + (stavka.zadaniPromet - stavka.skeniraniPromet).ToString(); CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. MTrenisClient c = new MTrenisClient(); try { RobnaLokacija[] polje = c.DohvatiRobneLokacije(nalog.sklaOznaka, null, stavka.roba.sifra); List<KRobnaLokacija> lista = new List<KRobnaLokacija>(); foreach (var r in polje) { lista.Add( new KRobnaLokacija( new KRoba(r.roba.sifra, r.roba.naziv, r.roba.dobavljac), r.lokOznaka, r.zonOznaka, r.stanje, r.kapacitet)); } dgvLok.DataSource = lista; foreach (DataGridViewRow row in dgvLok.Rows) { if (row.Cells["colLokacija"].Value.ToString() == stavka.optiLok && row.Cells["colZona"].Value.ToString() == stavka.optiZon) { //dgvLok.FirstDisplayedScrollingRowIndex = dgvLok.Rows[row.Index].Index; dgvLok.ClearSelection(); dgvLok.Rows[row.Index].Selected = true; dgvLok.CurrentCell = dgvLok.Rows[row.Index].Cells[0]; break; } } } 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(); } } txtKol.Select(); // NE .Focus()!!! }
public FormRobniUlaz(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje, KNalog _nalog, KStavkaNaloga _stavka) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); dgvLok.AutoGenerateColumns = false; dgvLok.Columns["colStanje"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dgvLok.Columns["colKapacitet"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; txtLok.Select(); // NE .Focus()!!! this.nalog = _nalog; this.stavka = _stavka; lblRoba.Text = stavka.roba.sifra + Environment.NewLine + stavka.roba.naziv + Environment.NewLine + "količina: " + stavka.zadaniPromet.ToString() + Environment.NewLine + "za sken: " + (stavka.zadaniPromet - stavka.skeniraniPromet).ToString(); CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. MTrenisClient c = new MTrenisClient(); try { RobnaLokacija[] polje = c.DohvatiRobneLokacije(String.IsNullOrEmpty(nalog.sklaOznakaPSS) ? nalog.sklaOznaka : nalog.sklaOznakaPSS, null, stavka.roba.sifra); List<KRobnaLokacija> lista = new List<KRobnaLokacija>(); foreach (var r in polje) { lista.Add( new KRobnaLokacija( new KRoba(r.roba.sifra, r.roba.naziv, r.roba.dobavljac), r.lokOznaka, r.zonOznaka, r.stanje, r.kapacitet)); } dgvLok.DataSource = lista; if (dgvLok.RowCount > 0) { dgvLok.CurrentCell = dgvLok.Rows[0].Cells["colLokacija"]; txtLok.Text = dgvLok.CurrentRow.Cells["colLokacija"].Value.ToString(); } } 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(); } } }
int take = 20; // Zapravo se čita iz konfiguracijske datoteke. #endregion Fields #region Constructors public FormInvPregled(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje, KInventura _i) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); this.inventura = _i; dgvInvPregled.AutoGenerateColumns = false; pnlStraničnik.Left = (pnlStraničnik.Parent.Width - pnlStraničnik.Width) / 2; take = Convert.ToInt32(ConfigurationManager.AppSettings["InvPregledTake"]); CoreScannerProxy.Instance.BarcodeEvent += new BarcodeEventHandler(OnBarcode); // Događaj za očitanje barkoda. txtRoba.Focus(); }
/// <summary> /// Pretrpani konstruktor koji osigurava: /// - postojanost prijavljenog korisnika i informacija o računalu na kojem se aplikacija pokreće /// - postojanost aplikacijskih kataloga dokumenata i skladišta /// - neuočljivu izmjenu jedne forme drugom putem "nasljeđivanja" lokacije i dimenzija forme. /// </summary> /// <param name="_terminal">Terminal - korisnik aplikacije (svojstvo _k.skladištar: nulabilno ako korisnik nije prijavljen) i /// računalo na kojem je aplikacija pokrenuta</param> /// <param name="_katalog">Aplikacijski katalozi dokumenata i skladišta.</param> /// <param name="_koordinate">Zaslonske koordinate gdje treba prikazati formu.</param> /// <param name="_širina">Širina forme.</param> /// <param name="_visina">Visina forme.</param> /// <param name="_stanje">Stanje prozora: minimiziran, maksimiziran ili običan.</param> public _FormBazna_(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje) { InitializeComponent(); this.terminal = _terminal; this.katalog = _katalog; this.Location = _koordinate; this.Width = _širina; this.Height = _visina; this.WindowState = _stanje; PostaviStaTraku(); PostaviIzbornik(); }
/// <summary> /// Dohvaća podatke o mrežnom sklopovlju računala na kojem se pokreće ova aplikacija. /// </summary> /// <param name="_terminal">Objekt u kojega se spremaju podaci o mrežnom sklopovlju.</param> public static void DohvatiMrežnaSučelja(ref Terminal _terminal) { try { _terminal.mrežnaSučelja = NetworkInterface.GetAllNetworkInterfaces(); List<string> mac = new List<string>(); foreach (var r in _terminal.mrežnaSučelja) { if (r.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || r.NetworkInterfaceType == NetworkInterfaceType.Ethernet) { string[] macAddrParts = r.GetPhysicalAddress().ToString().Split(':'); StringBuilder sb = new StringBuilder(); for (int i = 0; i < macAddrParts.Length; i++) { sb.Append(macAddrParts[i]); } mac.Add(sb.ToString()); } } if (mac.Count == 0) { StringBuilder popisMrežnihSučelja = new StringBuilder(); foreach (var r in _terminal.mrežnaSučelja) { popisMrežnihSučelja.Append(Environment.NewLine); popisMrežnihSučelja.Append(r.Name); popisMrežnihSučelja.Append(", "); popisMrežnihSučelja.Append(r.NetworkInterfaceType.ToString()); popisMrežnihSučelja.Append(", "); popisMrežnihSučelja.Append(r.GetPhysicalAddress().ToString()); popisMrežnihSučelja.Append(Environment.NewLine); } StringBuilder poruka = new StringBuilder(String.Format(P.MREŽNA_SUČELJA_FALŠNA, NetworkInterfaceType.Wireless80211.ToString(), NetworkInterfaceType.Ethernet.ToString())); if (popisMrežnihSučelja.Length > 0) { poruka.Append(String.Format(P.MREŽNIH_SUČELJA_POPIS, popisMrežnihSučelja.ToString())); } else { poruka.Append(P.MREŽNIH_SUČELJA_NEMA); } throw new Exception(poruka.ToString()); } _terminal.macAdrese = mac; } catch (Exception) { throw; } }
public ModalPrijava(Terminal _terminal) { try { InitializeComponent(); ddlKorisnik.DataSource = DajPopisSkladištara(ref _terminal); ddlKorisnik.SelectedIndex = -1; ddlKorisnik.Focus(); this.terminal = _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); } }
public FormInventura(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); try { ddlSkladiste.SelectedIndexChanged -= new EventHandler(ddlSkladiste_SelectedIndexChanged); ddlSkladiste.DataSource = katalog.skladišta; ddlSkladiste.SelectedIndex = -1; ddlSkladiste.Focus(); ddlSkladiste.SelectedIndexChanged += new EventHandler(ddlSkladiste_SelectedIndexChanged); } 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); } }
public FormPLL(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); }
/// <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(); } } }
/// <summary> /// Dohvaća podatke u barkod-čitačima uštekanim u računalo. /// </summary> /// <param name="_terminal">Objekt u kojega se spremaju podaci o uštekanim čitačima.</param> private static void PostaviČitače(ref Terminal _terminal) { try { short[] arScannerTypes = new short[1]; arScannerTypes[0] = (short)ScannerTypes.ALL; List<Scanner> connectedScanners = new List<Scanner>(); Status sta = CoreScannerProxy.Instance.OpenAndGetScanners(arScannerTypes, ref connectedScanners); if (sta == Status.S_SUCCESS && connectedScanners.Count > 0) { List<Scanner> wrongModeScanners = null; foreach (Scanner r in connectedScanners) { if (r != null && r.ScannerType != "USBIBMHID") { sta = r.SwitchHostMode(ScannerHostModes.USB_IBMHID, true, false); if (sta != Status.S_SUCCESS) { wrongModeScanners.Add(r); } } } _terminal.povezaniČitači = connectedScanners; if (wrongModeScanners.Count > 0) { _terminal.falšniČitači = wrongModeScanners; } } else { throw new Exception(String.Format(P.ČITAČ_ODSPOJEN, sta.ToString())); } } catch (Exception) { throw; } }
public FormBarkodiranje(Terminal _terminal, Katalog _katalog, Point _koordinate, int _širina, int _visina, FormWindowState _stanje, KNalog _nalog, KRoba _roba) : base(_terminal, _katalog, _koordinate, _širina, _visina, _stanje) { InitializeComponent(); this.nalog = _nalog; }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Terminal terminal = new Terminal(); Katalog katalog = new Katalog(); DohvatiMrežnaSučelja(ref terminal); DohvatiKataloge(ref katalog); PokušajAutoPrijavu(ref terminal); // Autoprijava se uvijek provodi ako i samo ako je uspio dohvat mrežnih sučelja. try // Želim nastaviti rad čak i ako povezivanje s barkod-čitačem nije uspjelo. { PostaviČitače(ref terminal); } catch (Exception ex) { MessageBox.Show(ex.Message); } _FormBazna_ form = new _FormBazna_(terminal, katalog, new Point((Screen.PrimaryScreen.Bounds.Width - 1216) / 2, (Screen.PrimaryScreen.Bounds.Height - 704) / 2), 1216, 704, FormWindowState.Normal); // Vidi u dizajneru Bazne Forme. form.Show(); Application.Run(); } catch (NetworkInformationException ex) { MessageBox.Show(ex.Message, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } 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); } }