예제 #1
0
        public override void OnAfterFormClose(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            base.OnAfterFormClose(FormUID, ref pVal, out BubbleEvent);

            var formTypePreContrato = new FormPreContrato().FormType;

            for (int i = 0; i < Global.SBOApplication.Forms.Count; i++)
            {
                var currentForm = Global.SBOApplication.Forms.Item(i);
                if (currentForm.TypeEx == formTypePreContrato)
                {
                    new FormPreContrato().AtualizarMatriz(currentForm);
                }
            }
        }
예제 #2
0
        private void AtualizarSaldoPreContrato(DBDataSource dbdts)
        {
            var tabelaPreContrato = Global.Company.UserTables.Item(new TabelaPreContrato().NomeSemArroba);
            var numPreContrato    = _numeroDoPreContrato.GetValorDBDatasource <string>(dbdts);
            var numContratoFinal  = _numeroDoContrato.GetValorDBDatasource <string>(dbdts);
            var codePreContrato   = FormPreContrato.GetCode(numPreContrato);

            if (tabelaPreContrato.GetByKey(codePreContrato))
            {
                // tem que ser feito o cálculo levando em consideração a soma dos contratos filhos tirando eu mesmo,
                // porque senão, toda vez que eu atualizar o contrato final vai subtrair do pre contrato.
                using (var recordset = new RecordSet())
                {
                    var rs = recordset.DoQuery(
                        $@"SELECT 
	                        SUM(U_QtdSaca) as SaldoSaca, SUM(U_QtdPeso) as SaldoPeso, SUM(U_TLivre) as SaldoLivre
	                        FROM [@UPD_OCFC] 
	                        WHERE 1 = 1
		                        AND {_status.Datasource} <> '{StatusContratoFinal.Cancelado}' AND U_DocNumCC = {numPreContrato} AND U_DocNumCF <> {numContratoFinal}"
                        );

                    double sacasPreContrato = tabelaPreContrato.UserFields.Fields.Item(_quantidadeDeSacas.Datasource).Value;
                    double pesoPreContrato  = tabelaPreContrato.UserFields.Fields.Item(_quantidadeDePeso.Datasource).Value;
                    double livrePreContrato = tabelaPreContrato.UserFields.Fields.Item(_totalLivre.Datasource).Value;

                    double saldoSacas = rs.Fields.Item("SaldoSaca").Value;
                    double saldoPeso  = rs.Fields.Item("SaldoPeso").Value;
                    double saldoLivre = rs.Fields.Item("SaldoLivre").Value;

                    double sacasContratoFinal = _saldoDeSacas.GetValorDBDatasource <double>(dbdts);
                    double pesoContratoFinal  = _saldoDePeso.GetValorDBDatasource <double>(dbdts);
                    double livreContratoFinal = _saldoFinanceiro.GetValorDBDatasource <double>(dbdts);

                    tabelaPreContrato.UserFields.Fields.Item(_saldoDeSacas.Datasource).Value    = sacasPreContrato - saldoSacas - sacasContratoFinal;
                    tabelaPreContrato.UserFields.Fields.Item(_saldoDePeso.Datasource).Value     = pesoPreContrato - saldoPeso - pesoContratoFinal;
                    tabelaPreContrato.UserFields.Fields.Item(_saldoFinanceiro.Datasource).Value = livrePreContrato - saldoLivre - livreContratoFinal;

                    tabelaPreContrato.Update();
                }
            }
        }
예제 #3
0
        private void CancelarSaldoContratoFinal(DBDataSource dbdts)
        {
            var tabelaPreContrato = Global.Company.UserTables.Item(new TabelaPreContrato().NomeSemArroba);
            var numPreContrato    = _numeroDoPreContrato.GetValorDBDatasource <string>(dbdts);
            var numContratoFinal  = _numeroDoContrato.GetValorDBDatasource <string>(dbdts);
            var codePreContrato   = FormPreContrato.GetCode(numPreContrato);

            if (tabelaPreContrato.GetByKey(codePreContrato))
            {
                double sacasPreContrato = tabelaPreContrato.UserFields.Fields.Item(_saldoDeSacas.Datasource).Value;
                double pesoPreContrato  = tabelaPreContrato.UserFields.Fields.Item(_saldoDePeso.Datasource).Value;
                double livrePreContrato = tabelaPreContrato.UserFields.Fields.Item(_saldoFinanceiro.Datasource).Value;

                double sacasContratoFinal = _saldoDeSacas.GetValorDBDatasource <double>(dbdts);
                double pesoContratoFinal  = _saldoDePeso.GetValorDBDatasource <double>(dbdts);
                double livreContratoFinal = _saldoFinanceiro.GetValorDBDatasource <double>(dbdts);

                tabelaPreContrato.UserFields.Fields.Item(_saldoDeSacas.Datasource).Value    = sacasPreContrato + sacasContratoFinal;
                tabelaPreContrato.UserFields.Fields.Item(_saldoDePeso.Datasource).Value     = pesoPreContrato + pesoContratoFinal;
                tabelaPreContrato.UserFields.Fields.Item(_saldoFinanceiro.Datasource).Value = livrePreContrato + livreContratoFinal;

                tabelaPreContrato.Update();
            }
        }
        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 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,
                    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
                };

                #endregion


                #region :: Form SAP
                var formUsuarios     = new FormUsuarios();
                var formPedidoCompra = new FormPedidoCompra();

                var formsPadraoSAP = new List <SAPHelper.Form>()
                {
                    formUsuarios,
                    formPedidoCompra
                };

                #endregion


                #region :: Grupos de Forms

                var formsVisible = new List <SAPHelper.Form>()
                {
                    formPreContrato, formContratoFinal
                };
                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,
                        formConfiguracaoPeneira,
                        formPedidoCompra
                    }),
                    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
                    }),
                });

                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;
        }