Пример #1
0
        private static void DeclararEventos()
        {
            var eventFilters = new EventFilters();

            eventFilters.Add(BoEventTypes.et_MENU_CLICK);

            try
            {
                #region :: Forms Cadastro Básico

                var formGrupoDeItens        = new FormGrupoDeItens();
                var formUtilizacaoBloqueada = new FormUtilizacaoBloqueada();
                var formConfiguracaoPeneira = new FormConfiguracaoPeneira();
                var formCertificado         = new FormCertificado();
                var formMetodoFinanceiro    = new FormMetodoFinanceiro();
                var formModalidade          = new FormModalidade();
                var formSafra            = new FormSafra();
                var formTipoOperacao     = new FormTipoOperacao();
                var formUnidadeComercial = new FormUnidadeComercial();
                var formParticipante     = new FormParticipante();

                var formsCadastroBasico = new List <SAPHelper.Form>()
                {
                    formGrupoDeItens,
                    formUtilizacaoBloqueada,
                    formConfiguracaoPeneira,
                    formCertificado,
                    formMetodoFinanceiro,
                    formModalidade,
                    formSafra,
                    formTipoOperacao,
                    formUnidadeComercial,
                    formParticipante
                };

                #endregion


                #region :: Forms Detalhe de Contrato

                var formPreContrato   = new FormPreContrato();
                var formContratoFinal = new FormContratoFinal();

                var formPreContratoAberturaPorPeneira   = new FormPreContratoAberturaPorPeneira();
                var formContratoFinalAberturaPorPeneira = new FormContratoFinalAberturaPorPeneira();

                var formPreContratoDetalheCertificado   = new FormPreContratoDetalheCertificado();
                var formContratoFinalDetalheCertificado = new FormContratoFinalDetalheCertificado();

                var formPreContratoComissoes   = new FormPreContratoComissoes();
                var formContratoFinalComissoes = new FormContratoFinalComissoes();

                var formsDetalheContrato = new List <SAPHelper.Form>()
                {
                    formPreContratoAberturaPorPeneira,
                    formContratoFinalAberturaPorPeneira,

                    formPreContratoDetalheCertificado,
                    formContratoFinalDetalheCertificado,

                    formPreContratoComissoes,
                    formContratoFinalComissoes
                };

                var formSelecaoDocMKT = new FormSelecaoDocMKT();

                #endregion


                #region :: Form SAP

                var formUsuarios                 = new FormUsuarios();
                var formPedidoCompra             = new FormPedidoCompra();
                var formNotaFiscalEntrada        = new FormNotaFiscalEntrada();
                var formAdiantamentoFornecedores = new FormAdiantamentoFornecedor();
                var formRecebimentoMercadoria    = new FormRecebimentoMercadoria();
                var formDevolucaoMercadoria      = new FormDevolucaoMercadoria();
                var formDevNotaFiscalEntrada     = new FormDevNotaFiscalEntrada();

                var formsPadraoSAP = new List <SAPHelper.Form>()
                {
                    formUsuarios,
                    formPedidoCompra,
                    formNotaFiscalEntrada,
                    formAdiantamentoFornecedores,
                    formRecebimentoMercadoria,
                    formDevolucaoMercadoria,
                    formDevNotaFiscalEntrada
                };

                #endregion


                #region :: Grupos de Forms

                var formsVisible = new List <SAPHelper.Form>()
                {
                    formPreContrato, formContratoFinal, formSelecaoDocMKT
                };
                formsVisible.AddRange(formsCadastroBasico);
                formsVisible.AddRange(formsDetalheContrato);

                #endregion


                FormEvents.DeclararEventos(eventFilters, new List <MapEventsToForms>()
                {
                    new MapEventsToForms(BoEventTypes.et_FORM_VISIBLE, formsVisible),
                    new MapEventsToForms(BoEventTypes.et_FORM_LOAD, formsPadraoSAP),
                    new MapEventsToForms(BoEventTypes.et_COMBO_SELECT, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal,
                        formPreContratoComissoes,
                        formContratoFinalComissoes
                    }),
                    new MapEventsToForms(BoEventTypes.et_VALIDATE, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal
                    }),
                    new MapEventsToForms(BoEventTypes.et_CHOOSE_FROM_LIST, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formPreContratoAberturaPorPeneira,
                        formContratoFinal,
                        formContratoFinalAberturaPorPeneira
                    }),
                    new MapEventsToForms(BoEventTypes.et_FORM_DATA_ADD, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal,
                        formCertificado,
                        formMetodoFinanceiro,
                        formModalidade,
                        formSafra,
                        formTipoOperacao,
                        formUnidadeComercial,
                        formParticipante
                    }),
                    new MapEventsToForms(BoEventTypes.et_FORM_DATA_UPDATE, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal,
                        formCertificado,
                        formMetodoFinanceiro,
                        formModalidade,
                        formSafra,
                        formTipoOperacao,
                        formUnidadeComercial,
                        formParticipante
                    }),
                    new MapEventsToForms(BoEventTypes.et_FORM_DATA_LOAD, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal
                    }),
                    new MapEventsToForms(BoEventTypes.et_FORM_CLOSE, new List <SAPHelper.Form>()
                    {
                        formPreContratoDetalheCertificado,
                        formPreContratoComissoes,
                        formContratoFinalDetalheCertificado,
                        formContratoFinalComissoes,
                        formContratoFinal
                    }),
                    new MapEventsToForms(BoEventTypes.et_ITEM_PRESSED, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal,
                        formPreContratoAberturaPorPeneira,
                        formPreContratoDetalheCertificado,
                        formPreContratoComissoes,
                        formContratoFinalAberturaPorPeneira,
                        formContratoFinalDetalheCertificado,
                        formContratoFinalComissoes,
                        formGrupoDeItens,
                        formUtilizacaoBloqueada,
                        formConfiguracaoPeneira,
                        formPedidoCompra,
                        formNotaFiscalEntrada,
                        formAdiantamentoFornecedores,
                        formRecebimentoMercadoria,
                        formDevolucaoMercadoria,
                        formDevNotaFiscalEntrada,
                        formSelecaoDocMKT
                    }),
                    new MapEventsToForms(BoEventTypes.et_MATRIX_LINK_PRESSED, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal
                    }),
                    new MapEventsToForms(BoEventTypes.et_DOUBLE_CLICK, new List <SAPHelper.Form>()
                    {
                        formPreContrato,
                        formContratoFinal
                    }),
                    new MapEventsToForms(BoEventTypes.et_LOST_FOCUS, new List <SAPHelper.Form>()
                    {
                        formContratoFinal
                    }),
                });

                var formsAdicionarNovo = new List <SAPHelper.Form>()
                {
                    formPreContrato, formContratoFinal
                };
                formsAdicionarNovo.AddRange(formsCadastroBasico);

                FormEvents.DeclararEventosInternos(EventosInternos.AdicionarNovo, formsAdicionarNovo);
                FormEvents.DeclararEventosInternos(EventosInternos.Pesquisar, new List <SAPHelper.Form>()
                {
                    formPreContrato,
                    formContratoFinal
                });
                FormEvents.DeclararEventosInternos(EventosInternos.Duplicar, formPedidoCompra);
            }
            catch (Exception e)
            {
                Dialogs.PopupError("Erro ao declarar eventos de formulário.\nErro: " + e.Message);
            }

            try
            {
                Global.SBOApplication.SetFilter(eventFilters);
            }
            catch (Exception e)
            {
                Dialogs.PopupError("Erro ao setar eventos declarados da aplicação.\nErro: " + e.Message);
            }

            Global.SBOApplication.AppEvent      += AppEvent;
            Global.SBOApplication.ItemEvent     += FormEvents.ItemEvent;
            Global.SBOApplication.FormDataEvent += FormEvents.FormDataEvent;
            Global.SBOApplication.MenuEvent     += Menu.MenuEvent;
        }
Пример #2
0
        public override void OnBeforeComboSelect(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            if (pVal.ItemUID == _botaoComboCopiar.ItemUID)
            {
                BubbleEvent = false;

                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    if (form.Mode == BoFormMode.fm_OK_MODE)
                    {
                        using (var dbdtsCOM = new DBDatasourceCOM(form, MainDbDataSource))
                        {
                            var tipoObjeto = new HandlerTipoDeObjeto().GetByIndex(pVal.PopUpIndicator);
                            if (tipoObjeto.ObjetoBase == null)
                            {
                                var dbdts            = dbdtsCOM.Dbdts;
                                var fornecedor       = _codigoPN.GetValorDBDatasource <string>(dbdts);
                                var numContratoFinal = _numeroDoContrato.GetValorDBDatasource <string>(dbdts);
                                var transportadora   = _transportadora.GetValorDBDatasource <string>(dbdts);
                                var qtdSacas         = _quantidadeDeSacas.GetValorDBDatasource <double>(dbdts);

                                var codigoItem = _codigoItem.GetValorDBDatasource <string>(dbdts);
                                var nomeItem   = _nomeItem.GetValorDBDatasource <string>(dbdts);

                                var novoCodigoItem = tipoObjeto.IndexParaCombo == new TipoNotaFiscalEntrada().IndexParaCombo ? GetItemFiscal(codigoItem) : codigoItem;
                                if (string.IsNullOrEmpty(novoCodigoItem))
                                {
                                    Dialogs.PopupError($"Nenhum item fiscal foi configurado para o item '{nomeItem}' do contrato");
                                    novoCodigoItem = codigoItem;
                                }

                                var totalFaturado = _totalFaturado.GetValorDBDatasource <double>(dbdts);
                                var qtdPeso       = _quantidadeDePeso.GetValorDBDatasource <double>(dbdts);

                                var deposito      = _deposito.GetValorDBDatasource <string>(dbdts);
                                var utilizacao    = _utilizacao.GetValorDBDatasource <string>(dbdts);
                                var safra         = _safra.GetValorDBDatasource <string>(dbdts);
                                var embalagem     = _embalagem.GetValorDBDatasource <string>(dbdts);
                                var quantidade    = _saldoDePeso.GetValorDBDatasource <double>(dbdts);
                                var filial        = GetFilial(_deposito.GetValorDBDatasource <string>(dbdts));
                                var precoUnitario = totalFaturado / qtdPeso;

                                var formBase = tipoObjeto.Form.Abrir();
                                tipoObjeto.Form.PreencherDocumento(formBase, new DocMKTParams()
                                {
                                    NumContratoFinal = numContratoFinal,
                                    Fornecedor       = fornecedor,
                                    Item             = novoCodigoItem,
                                    Utilizacao       = utilizacao,
                                    Transportadora   = transportadora,
                                    Embalagem        = embalagem,
                                    Deposito         = deposito,
                                    Quantidade       = quantidade,
                                    PrecoUnitario    = precoUnitario,
                                    Filial           = filial,
                                    QuantidadeSacas  = qtdSacas
                                });
                            }
                            else
                            {
                                FormSelecaoDocMKT.AbrirForm(FormUID, tipoObjeto.ObjetoBase);
                            }
                        }
                    }
                    else
                    {
                        Dialogs.PopupError("Salve o Contrato antes de criar um novo Documento.");
                    }
                }
            }
            else
            {
                base.OnAfterComboSelect(FormUID, ref pVal, out BubbleEvent);
            }
        }