예제 #1
0
        private void btnConfirma_Click(object sender, EventArgs e)
        {
            //TREINAMENTO - SÓ DESCOMENTAR QUANDO FOR FAZER PUBLICAÇÃO PARA TREINAMENTO
            //MessageBox.Show(EDL.Properties.Resources.MSGI001, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
            //return;
            //TREINAMENTO - SÓ DESCOMENTAR QUANDO FOR FAZER PUBLICAÇÃO PARA TREINAMENTO

            try
            {
                string produtos = "";

                foreach (ListViewItem item in lsvDocumentos.Items)
                {
                    if (item.ImageIndex == 1)
                    {
                        produtos += item.SubItems[4].Text + " ";
                        Program.Pedido.PedidoItens.Where(p => p.CodigoProduto == Convert.ToInt32(item.SubItems[4].Text)).FirstOrDefault().Quantidade = Convert.ToDecimal(item.SubItems[1].Text.Replace(',', '.'));
                    }
                }

                var produtosEnviados = produtos.Split(' ');

                if (produtosEnviados.Count() > 0)
                {
                    if (Program.FornecedorNotaManual.Recebimento == 2 && Program.FornecedorNotaManual.ValorInformado > valorTotal)
                    {
                        MessageBox.Show(EDL.Properties.Resources.SYS011, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    }
                    else
                    {
                        AtivaPainelOk(true, "REGISTRANDO...");

                        string retorno;

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

                            Program.FornecedorNotaManual.ValorTotal = valorTotal;

                            if (Program.FornecedorNotaManual.Recebimento == 2)
                            {
                                retorno = ws.RegistraNFManualPedidoDataJuliana(Program.FornecedorNotaManual, Program.Pedido.PedidoItens.Where(p => produtosEnviados.Contains(p.CodigoProduto.ToString())).ToArray(), Program.Usuario.UsuarioId, Program.DataJuliana, Program.SequenciaJuliana);
                            }
                            else
                            {
                                retorno = ws.RegistraRomaneioPedido(Program.FornecedorNotaManual, Program.Pedido.PedidoItens.Where(p => produtosEnviados.Contains(p.CodigoProduto.ToString())).ToArray(), Program.Usuario.UsuarioId, Program.Usuario.Login);
                            }
                        }

                        AtivaPainelOk(false, "");

                        if (retorno == "")
                        {
                            MessageBox.Show(EDL.Properties.Resources.MSGI001, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);

                            Util.MostraCursor.CursorAguarde(true);
                            timer1.Enabled = false;
                            this.StopRead();
                            Program.FormularioAtivo = "NFe";
                            this.Close();
                        }
                        else
                        {
                            Util.LogRecusaNF.CriaRecusaSemNFe(2, Program.FornecedorNotaManual.Filial, Program.FornecedorNotaManual.Fornecedor, Program.FornecedorNotaManual.Numero, Program.FornecedorNotaManual.Serie, EDL.Properties.Resources.SYS007 + " - " + retorno, Program.Usuario.Login);

                            MessageBox.Show(EDL.Properties.Resources.SYS007 + " - " + retorno, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                        }
                    }
                }
                else
                {
                    Util.LogRecusaNF.CriaRecusaSemNFe(2, Program.FornecedorNotaManual.Filial, Program.FornecedorNotaManual.Fornecedor, Program.FornecedorNotaManual.Numero, Program.FornecedorNotaManual.Serie, EDL.Properties.Resources.MSGC001 + " - " + produtos, Program.Usuario.Login);

                    MessageBox.Show(EDL.Properties.Resources.MSGC001, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                }
            }
            catch (Exception err)
            {
                AtivaPainelOk(false, "");
                MessageBox.Show(EDL.Properties.Resources.SYS999 + err.Message, Program.TituloMensagem, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
            }
        }