Beispiel #1
0
 public static bool DokBarkodOK(DokBarkod _skladok, out string _msg)
 {
     _msg = String.Empty;
     Regex regex = null;
     if (_skladok.duljina == 15)
     {
         regex = new Regex(@"[A-Z]{3}[0-9]{12}");
     }
     else
     {
         regex = new Regex(@"[A-Z]{3}[0-9]{15}");
     }
     if (!regex.IsMatch(_skladok.izvornik))
     {
         _msg = P.DOKBARKOD_FALŠNI_FORMAT;
         return false;
     }
     try
     {
         if ((from r in Katalog.dokumenti where r.vrsta == _skladok.dokVrsta select r).Single().oznaka != _skladok.dokOznaka)
         {
             _msg = String.Format(P.DOKBARKOD_FALŠNA_VRSTA, _skladok.dokVrsta, _skladok.dokOznaka);
             return false;
         }
         if (!(from r in Katalog.skladišta where r.oznaka == _skladok.sklaOznaka select r).Any())
         {
             _msg = String.Format(P.DOKBARKOD_SKLA_NE_POSTOJI, _skladok.sklaOznaka);
             return false;
         }
         if (_skladok.duljina == 19 && !(from r in Katalog.skladišta where r.oznaka == _skladok.sklaOznakaPSS select r).Any())
         {
             _msg = String.Format(P.DOKBARKOD_SKLA_NE_POSTOJI, _skladok.sklaOznakaPSS);
             return false;
         }
     }
     catch (InvalidOperationException ex)
     {
         _msg = String.Format(P.DOKBARKOD_DOK_NE_POSTOJI, _skladok.dokVrsta) + ex.Message;
         return false;
     }
     catch (Exception ex)
     {
         _msg = ex.Message;
         return false;
     }
     return true;
 }
Beispiel #2
0
 private void btnDok_Click(object sender, EventArgs e)
 {
     txtDok.Text = txtDok.Text.ToUpper();
     if (txtDok.Text.Length != 15 && txtDok.Text.Length != 19)
     {
         MessageBox.Show(String.Format(P.DOKBARKOD_KRIVA_DULJINA, txtDok.Text.Length), P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     skladok = F.RazriješiDokBarkod(txtDok.Text);
     string msg;
     if (!F.DokBarkodOK(skladok, this.katalog, out msg))
     {
         MessageBox.Show(msg, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if ((from r in katalog.dokumenti where r.vrsta == skladok.dokVrsta select r).Single().smjer != "I") // OVAJ smjer je iz MobDokumenti gdje je PSS također I!
     {
         MessageBox.Show(P.NALOG_NIJE_IZLAZNI, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     if (dgvDok.Rows.Count > 0 && (lblSklaOznakaV.Text != skladok.sklaOznaka || lblDokVrstaV.Text != (from r in katalog.dokumenti where r.vrsta == skladok.dokVrsta select r).Single().vrsta))
     {
         MessageBox.Show(P.OTPREMA_UNIFORMNOST_NALOGA, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     MTrenisClient c = new MTrenisClient();
     try
     {
         if (!c.MozeOtprema(skladok.sklaOznaka, skladok.dokVrsta, skladok.dokBr))
         {
             MessageBox.Show(P.NALOG_FIJU_BRIJU, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         foreach (DataGridViewRow row in dgvLok.Rows)
         {
             if (row.Cells["colDokBr"].Value.ToString() == skladok.dokBr)
             {
                 MessageBox.Show(P.OTPREMA_NALOG_VEĆ_DODAN, P.MSGBOX_ERR_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error);
                 return;
             }
         }
         dgvDok.Rows.Add(skladok.dokBr);
         txtDok.Text = String.Empty;
         txtDok.Select();
         lblSklaOznakaV.Text = skladok.sklaOznaka;
         lblDokVrstaV.Text = skladok.dokVrsta;
     }
     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();
         }
     }
 }