예제 #1
0
        private void EncontraProduto(string codigoBarras)
        {
            bool achou = false;
            int  pos   = 0;

            barraInferior1.inputPanel1.Enabled = false;

            try
            {
                AtivaPainelOk(true, "PESQUISANDO...");

                using (EDLWS.EDLWS ws = new EDL.EDLWS.EDLWS())
                {
                    ws.Url     = Util.LerGravarXML.ObterValor("urlSincronizacao");
                    ws.Timeout = 999999;

                    devolucaoItens = new EDL.EDLWS.DevolucaoItem();
                    devolucaoItens = ws.RetornaProdutoDevolucao(codigoBarras, Program.Filial, Program.Devolucao.Id);
                }

                AtivaPainelOk(false, "");

                if (devolucaoItens.Erro != "")
                {
                    MessageBox.Show(devolucaoItens.Erro, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                }
                else
                {
                    if (devolucaoItens.QtdEstoque <= 0)
                    {
                        MessageBox.Show(EDL.Properties.Resources.SYS014.Replace("#", codigoBarras), Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    }
                    else
                    {
                        achou = false;
                        pos   = 0;
                        foreach (var item in devolucoes)
                        {
                            if (item.CodigoBarras == codigoBarras)
                            {
                                achou = true;
                                if (item.Quantidade + 1 > item.QtdEstoque)
                                {
                                    MessageBox.Show(EDL.Properties.Resources.MSGA008.Replace("#", codigoBarras), Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                                }
                                else
                                {
                                    item.Quantidade++;
                                    lsvDocumentos.Items[pos].SubItems[1].Text =
                                        Util.Numerico.FormataNumero((Convert.ToDecimal(lsvDocumentos.Items[pos].SubItems[1].Text.Replace(",", ".")) + 1).ToString(), 4);

                                    lsvDocumentos.Items[pos].Selected = true;
                                    lsvDocumentos.Items[pos].Focused  = true;
                                }
                                break;
                            }
                            pos++;
                        }
                        if (!achou)
                        {
                            devolucaoItens.IdDevolucao = Program.Devolucao.Id;
                            devolucaoItens.Quantidade  = 1;
                            devolucoes.Add(devolucaoItens);

                            ListViewItem lvi;
                            ListViewItem.ListViewSubItem lvsi;

                            lvi            = new ListViewItem();
                            lvi.ImageIndex = 0;
                            lvi.Text       = devolucaoItens.CodigoBarras;

                            lvsi      = new ListViewItem.ListViewSubItem();
                            lvsi.Text = Util.Numerico.FormataNumero("1", 4);
                            lvi.SubItems.Add(lvsi);

                            lvsi      = new ListViewItem.ListViewSubItem();
                            lvsi.Text = devolucaoItens.Descricao;
                            lvi.SubItems.Add(lvsi);

                            lsvDocumentos.Items.Add(lvi);

                            if (lsvDocumentos.Items.Count > 0)
                            {
                                lsvDocumentos.Items[lsvDocumentos.Items.Count - 1].Selected = true;
                                lsvDocumentos.Items[lsvDocumentos.Items.Count - 1].Focused  = true;
                                btnRemover.Enabled = true;
                                btnRemover.Visible = true;
                            }
                        }
                    }
                    btnConfirma.Focus();
                }
            }
            catch (Exception err)
            {
                AtivaPainelOk(false, "");
                MessageBox.Show(EDL.Properties.Resources.SYS999 + err.Message, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
            }
        }