예제 #1
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;

            Load += (s, e) =>
            {
                DataTableStart();
            };

            //GridLista.DoubleClick += (s, e) => MessageBox.Show("");

            btnHelp.Click += (s, e) => Support.OpenLinkBrowser(Configs.LinkAjuda);

            btnAdicionar.Click += (s, e) =>
            {
                Model.Nota _notaCCe = new Model.Nota();
                //_notaCCe = _notaCCe.Query().Where("status", "Transmitindo...").Where("id", idNota).Where("excluir", 0).FirstOrDefault<Model.Nota>();
                _notaCCe = _notaCCe.Query().Where("status", "Transmitindo...").Where("id_pedido", idPedido).Where("excluir", 0).FirstOrDefault <Model.Nota>();

                if (_notaCCe != null)
                {
                    Alert.Message("Ação não permitida", "Existe outra CCe transmitindo", Alert.AlertType.warning);
                    return;
                }

                CartaCorrecaoAdd f = new CartaCorrecaoAdd();
                f.TopMost = true;
                if (f.ShowDialog() == DialogResult.OK)
                {
                    p1 = 1;
                    WorkerBackground2.RunWorkerAsync();
                }
            };

            btnRetransmitir.Click += (s, e) =>
            {
                //validação de registro com status Transmitindo...
                p1 = 1;
                WorkerBackground2.RunWorkerAsync();
            };

            imprimir.Click += (s, e) =>
            {
                imprimir.Text = "Imprimindo...";
                p1            = 2;
                WorkerBackground2.RunWorkerAsync();
            };

            btnRemover.Click += (s, e) =>
            {
                Model.Nota _notaCCe = new Model.Nota();
                _notaCCe = _notaCCe.Query().Where("id", Convert.ToInt32(GridLista.SelectedRows[0].Cells["ID"].Value)).Where("excluir", 0).First <Model.Nota>();

                if (_notaCCe.Status != "Transmitindo...")
                {
                    Alert.Message("Ação não permitida", "Exclusão não realizada", Alert.AlertType.warning);
                    return;
                }

                var result = AlertOptions.Message("Atenção!", "Você está prestes a deletar uma carta de correção, continuar?", AlertBig.AlertType.warning, AlertBig.AlertBtn.YesNo);
                if (result)
                {
                    _notaCCe.Excluir = 1;
                    _notaCCe.Save(_notaCCe);

                    DataTableStart();
                }
            };

            GridLista.CellFormatting += (s, e) =>
            {
            };

            using (var b = WorkerBackground)
            {
                b.DoWork += async(s, e) =>
                {
                    dataTable = await _cNota.GetDataTable(idPedido, idNota);
                };

                b.RunWorkerCompleted += async(s, e) =>
                {
                    await _cNota.SetTable(GridLista, idPedido, idNota);
                };
            }

            using (var b = WorkerBackground2)
            {
                b.DoWork += async(s, e) =>
                {
                    switch (p1)
                    {
                    case 1:
                        _msg = new Controller.Fiscal().EmitirCCe(idPedido, idNota);
                        break;

                    case 2:
                        var msg = new Controller.Fiscal().ImprimirCCe(idPedido, idNota);
                        if (!msg.Contains(".pdf"))
                        {
                            _msg = msg;
                        }
                        break;
                    }
                };

                b.RunWorkerCompleted += async(s, e) =>
                {
                    switch (p1)
                    {
                    case 1:

                        if (_msg.Contains("AUTORIZADA"))
                        {
                            //Alert.Message("Tudo certo!", "Carta de correção autorizada", Alert.AlertType.success);//AlertOptions.Message("Tudo certo!", "Carta de correção autorizada", AlertBig.AlertType.success, AlertBig.AlertBtn.OK);
                            //MessageBox.Show("Carta de correção autorizada");
                            retorno.Text = "Carta de correção autorizada";
                        }
                        else
                        {
                            //Alert.Message("Opss", _msg, Alert.AlertType.error);
                            //AlertOptions.Message("Opss", _msg, AlertBig.AlertType.error, AlertBig.AlertBtn.OK);
                            //MessageBox.Show(_msg);
                            retorno.Text = _msg;
                        }

                        break;

                    case 2:
                        imprimir.Text = "Imprimir";
                        break;
                    }

                    DataTableStart();

                    p1 = 0;
                };
            }
        }
예제 #2
0
        private void Eventos()
        {
            Back.Click += (s, e) => Close();

            Emitir.Click += (s, e) =>
            {
                //_mNota = new Model.Nota().FindByIdPedido(Id).FirstOrDefault<Model.Nota>();
                if (_mNota.Status != "Pendente")
                {
                    Alert.Message("Atenção!", "Não é possível emitir uma nota Autorizada/Cancelada.", Alert.AlertType.warning);
                    return;
                }

                retorno.Text   = "Emitindo NF-e .......................................... (1/2)";
                Emitir.Enabled = false;
                WorkerBackground.RunWorkerAsync();
            };

            Imprimir.Click += (s, e) =>
            {
                retorno.Text = new Controller.Fiscal().Imprimir(Id, "NFe", _mNota.Id);
            };

            EnviarEmail.Click += (s, e) =>
            {
                var checkNota = _mNota.FindByIdPedidoUltReg(Id, "", "NFe").FirstOrDefault <Model.Nota>();
                if (checkNota.Status != "Autorizada")
                {
                    Alert.Message("Ação não permitida!", "Não é possível enviar uma nota Pendente.", Alert.AlertType.warning);
                    return;
                }

                _mNota = checkNota;

                CartaCorrecaoAdd.tela = "Email";
                CartaCorrecaoAdd f = new CartaCorrecaoAdd();
                f.TopMost = true;
                if (f.ShowDialog() == DialogResult.OK)
                {
                    CartaCorrecaoAdd.tela = "";
                    justificativa         = CartaCorrecaoAdd.justificativa;

                    retorno.Text = "Enviando NF-e .......................................... (1/2)";

                    p1 = 5;
                    WorkerBackground.RunWorkerAsync();
                }
            };

            using (var b = WorkerBackground)
            {
                b.DoWork += async(s, e) =>
                {
                    if (p1 == 5)
                    {
                        _msg = new Controller.Fiscal().EnviarEmail(Id, justificativa, "NFe", _mNota.Id);
                    }
                    else
                    {
                        _msg = new Controller.Fiscal().Emitir(Id, "NFe", _mNota.Id, false);
                    }
                };

                b.RunWorkerCompleted += async(s, e) =>
                {
                    p1 = 0;

                    retorno.Text   = _msg;
                    Emitir.Enabled = true;
                };
            }
        }
예제 #3
0
        public void Eventos()
        {
            Load += (s, e) =>
            {
                var nota = new Model.Nota().FindById(idNota).FirstOrDefault <Model.Nota>();

                if (nota == null)
                {
                    return;
                }

                nsefaz.Text        = (!String.IsNullOrEmpty(nota.nr_Nota)) ? nota.nr_Nota : "";
                serie.Text         = (!String.IsNullOrEmpty(nota.Serie)) ? nota.Serie : "";
                status.Text        = (!String.IsNullOrEmpty(nota.Status)) ? nota.Status : "";
                chavedeacesso.Text = (!String.IsNullOrEmpty(nota.ChaveDeAcesso)) ? nota.ChaveDeAcesso : "";

                Emitir.Visible = false;
            };

            btnDetalhes.Click += (s, e) =>
            {
                //Nota.disableCampos = true;
                Nota.Id = idNota;
                Nota nota = new Nota();
                nota.TopMost = true;
                nota.ShowDialog();
            };

            Emitir.Click += (s, e) =>
            {
                //var checkNota = _modelNota.FindByIdPedido(idPedido).WhereNotNull("status").Where("nota.tipo", "NFe").FirstOrDefault();
                //var checkNota = _modelNota.FindByIdPedidoUltReg(idPedido, "", "NFe").FirstOrDefault<Model.Nota>();
                var checkNota = new Model.Nota().FindById(idNota).FirstOrDefault <Model.Nota>();
                if (checkNota == null)
                {
                    Model.Nota _modelNotaNova = new Model.Nota();

                    _modelNotaNova.Id        = 0;
                    _modelNotaNova.Tipo      = "NFe";
                    _modelNotaNova.Status    = "Pendente";
                    _modelNotaNova.id_pedido = idPedido;
                    _modelNotaNova.Save(_modelNotaNova, false);

                    checkNota = new Model.Nota().FindByIdPedidoUltReg(idPedido, "", "NFe").FirstOrDefault <Model.Nota>();
                }

                if (checkNota.Status == "Cancelada")
                {
                    if (Home.pedidoPage == "Notas")
                    {
                        Alert.Message("Atenção!", "Não é possível emitir uma nota Autorizada/Cancelada.", Alert.AlertType.warning);
                        return;
                    }

                    var result = AlertOptions.Message("Atenção!", "Existem registro(s) de nota(s) cancelada(s) a partir desta venda. Deseja gerar um nova nota?", AlertBig.AlertType.warning, AlertBig.AlertBtn.YesNo);
                    if (result)
                    {
                        Model.Nota _modelNotaNova = new Model.Nota();

                        _modelNotaNova.Id        = 0;
                        _modelNotaNova.Tipo      = "NFe";
                        _modelNotaNova.Status    = "Pendente";
                        _modelNotaNova.id_pedido = idPedido;
                        _modelNotaNova.Save(_modelNotaNova, false);

                        checkNota = new Model.Nota().FindByIdPedidoUltReg(idPedido, "", "NFe").FirstOrDefault <Model.Nota>();
                    }
                }

                if (checkNota.Status != "Pendente")
                {
                    Alert.Message("Atenção!", "Não é possível emitir uma nota Autorizada/Cancelada.", Alert.AlertType.warning);
                    return;
                }

                _modelNota = checkNota;

                retorno.Text = "Emitindo NF-e .......................................... (1/2)";

                if (p1 == 0)
                {
                    p1 = 1;
                    WorkerBackground.RunWorkerAsync();
                }
                else
                {
                    Alert.Message("Ação não permitida", "Aguarde processo finalizar", Alert.AlertType.warning);
                }
            };

            CartaCorrecao.Click += (s, e) =>
            {
                //var checkNota = new Model.Nota().FindByIdPedidoUltReg(idPedido, "", "NFe").FirstOrDefault<Model.Nota>();
                var checkNota = new Model.Nota().FindById(idNota).FirstOrDefault <Model.Nota>();
                if (checkNota == null || checkNota?.Status != "Autorizada")
                {
                    Alert.Message("Ação não permitida!", "Não é possível emitir uma Carta de Correção.", Alert.AlertType.warning);
                    return;
                }

                _modelNota = checkNota;

                CartaCorrecao cce = new CartaCorrecao();
                cce.TopMost = true;
                cce.Show();

                Application.OpenForms["OpcoesNfeRapida"].Close();
            };

            Cancelar.Click += (s, e) =>
            {
                //var checkNota = new Model.Nota().FindByIdPedidoUltReg(idPedido, "", "NFe").FirstOrDefault<Model.Nota>();
                var checkNota = new Model.Nota().FindById(idNota).FirstOrDefault <Model.Nota>();
                if (checkNota == null || checkNota?.Status != "Autorizada")
                {
                    Alert.Message("Ação não permitida!", "Não é possível cancelar uma nota Pendente/Cancelada.", Alert.AlertType.warning);
                    return;
                }

                _modelNota = checkNota;

                CartaCorrecaoAdd.tela = "Cancelar";
                CartaCorrecaoAdd f = new CartaCorrecaoAdd();
                f.TopMost = true;
                if (f.ShowDialog() == DialogResult.OK)
                {
                    CartaCorrecaoAdd.tela = "";
                    justificativa         = CartaCorrecaoAdd.justificativa;

                    retorno.Text = "Cancelando NF-e .......................................... (1/2)";

                    p1 = 4;
                    WorkerBackground.RunWorkerAsync();
                }
            };

            EnviarEmail.Click += (s, e) =>
            {
                //var checkNota = new Model.Nota().FindByIdPedidoUltReg(idPedido, "", "NFe").FirstOrDefault<Model.Nota>();
                var checkNota = new Model.Nota().FindById(idNota).FirstOrDefault <Model.Nota>();
                if (checkNota == null || checkNota?.Status == "Pendente")
                {
                    Alert.Message("Ação não permitida!", "Não é possível enviar uma nota Pendente.", Alert.AlertType.warning);
                    return;
                }

                _modelNota = checkNota;

                CartaCorrecaoAdd.tela   = "Email";
                CartaCorrecaoAdd.idNota = idNota;
                CartaCorrecaoAdd f = new CartaCorrecaoAdd();
                f.TopMost = true;
                if (f.ShowDialog() == DialogResult.OK)
                {
                    CartaCorrecaoAdd.tela = "";
                    justificativa         = CartaCorrecaoAdd.justificativa;

                    retorno.Text = "Enviando NF-e .......................................... (1/2)";

                    p1 = 5;
                    WorkerBackground.RunWorkerAsync();
                }
            };

            Imprimir.Click += (s, e) =>
            {
                var checkNota = new Model.Nota().FindByIdPedidoUltReg(idPedido, "", "NFe").FirstOrDefault <Model.Nota>();
                if (checkNota == null || checkNota?.Status == "Pendente")
                {
                    Alert.Message("Opps!", "Emita a nota para imprimir.", Alert.AlertType.warning);
                    return;
                }

                _modelNota = checkNota;

                retorno.Text = "Imprimindo NF-e .......................................... (1/2)";

                if (p1 == 0)
                {
                    p1 = 2;
                    WorkerBackground.RunWorkerAsync();
                }
                else
                {
                    Alert.Message("Ação não permitida", "Aguarde processo finalizar", Alert.AlertType.warning);
                }
            };

            using (var b = WorkerBackground)
            {
                b.DoWork += async(s, e) =>
                {
                    switch (p1)
                    {
                    case 1:

                        //_modelNota = _modelNota.FindByIdPedido(idPedido).FirstOrDefault<Model.Nota>();
                        //if (_modelNota == null)
                        //{
                        //    _modelNota.Id = 0;
                        //    _modelNota.id_pedido = idPedido;
                        //    _modelNota.Save(_modelNota);
                        //}

                        _msg = new Controller.Fiscal().Emitir(idPedido, "NFe", _modelNota.Id);
                        break;

                    case 2:

                        if (IniFile.Read("NFe", "APP") != "Uninfe")
                        {
                            var msg = new Controller.Fiscal().Imprimir(idPedido, "NFe", _modelNota.Id);
                            if (!msg.Contains(".pdf"))
                            {
                                _msg = msg;
                            }
                        }
                        else
                        {
                            EmissorImprimirDanfe();
                        }

                        break;

                    case 3:
                        //_msg = new Controller.Fiscal().EmitirCCe(idPedido, "Nota gerada com informacoes incorretas, por gentileza verificar as corretas");
                        break;

                    case 4:
                        if (justificativa.Length <= 15)
                        {
                            break;
                        }

                        _msg = new Controller.Fiscal().Cancelar(idPedido, "NFe", justificativa, _modelNota.Id);
                        break;

                    case 5:
                        _msg = new Controller.Fiscal().EnviarEmail(idPedido, justificativa, "NFe", _modelNota.Id);
                        break;
                    }
                };

                b.RunWorkerCompleted += async(s, e) =>
                {
                    p1 = 0;

                    if (!String.IsNullOrEmpty(_msg))
                    {
                        retorno.Text = _msg;
                    }
                };
            }

            FormClosing += (s, e) =>
            {
                OpcoesNfeRapida.idPedido = 0;
                OpcoesNfeRapida.idNota   = 0;
            };
        }