Exemplo n.º 1
0
        /// <summary>
        /// Processes before the company opening.
        /// </summary>
        /// <param name="Cancel"></param>
        /// <param name="e"></param>
        public override void AntesDeAbrirEmpresa(ref bool Cancel, ExtensibilityEventArgs e)
        {
            base.AntesDeAbrirEmpresa(ref Cancel, e);

            CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);
            mngr.BeforeOpenCompany(ref Cancel);
        }
Exemplo n.º 2
0
        public override void DepoisDeAnular(string Cliente, ExtensibilityEventArgs e)
        {
            base.DepoisDeAnular(Cliente, e);

            if (Convert.ToBoolean(BSO.Base.Clientes.DaValorAtributo(Cliente, "CDU_EntidadeGrupo")))
            {
                CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);

                StdBSDialogoEspera oDialog = PSO.Dialogos.MostraDialogoEspera(
                    "A remover o cliente das outras empresas do grupo.",
                    0,
                    StdBSTipos.IconId.PRI_Informativo,
                    StdBSTipos.AnimId.PRI_AviCalculos,
                    StdBSTipos.FormPos.PRI_Centrado);

                List <String> updatedCompanies = mngr.RemoveEntity(Cliente, "C");

                oDialog.Termina();

                if (updatedCompanies.Count > 0)
                {
                    PSO.Dialogos.MostraMensagem(
                        StdBSTipos.TipoMsg.PRI_Detalhe,
                        "Foram removidas entidades em outras empresas do grupo.",
                        StdBSTipos.IconId.PRI_Informativo,
                        String.Format("Empresas afetadas: {0}", String.Join(",", updatedCompanies)),
                        bActivaDetalhe: true);
                }
            }
        }
Exemplo n.º 3
0
        public override void DepoisDeGravar(string Artigo, ExtensibilityEventArgs e)
        {
            base.DepoisDeGravar(Artigo, e);

            if (Convert.ToBoolean(BSO.Base.Artigos.DaValorAtributo(Artigo, "CDU_ArtigoGrupo")))
            {
                CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);

                StdPlatBS100.StdBSDialogoEspera dlgUPD = PSO.Dialogos.MostraDialogoEspera(
                    "A actualizar o artigo nas outras empresas do grupo.",
                    0,
                    StdPlatBS100.StdBSTipos.IconId.PRI_Informativo,
                    StdPlatBS100.StdBSTipos.AnimId.PRI_AviCalculos,
                    StdPlatBS100.StdBSTipos.FormPos.PRI_Centrado);

                List <String> updatedCompanies = mngr.UpdateItem_GroupCompanies(Artigo);
                dlgUPD.Termina();

                if (updatedCompanies.Count > 0)
                {
                    PSO.Dialogos.MostraMensagem(
                        eTipo: StdPlatBS100.StdBSTipos.TipoMsg.PRI_Detalhe,
                        sMensagem: "Foram actualizados artigos nas empresas do grupo.",
                        eIcon: StdPlatBS100.StdBSTipos.IconId.PRI_Informativo,
                        sDetalhe: string.Join(",", updatedCompanies),
                        bActivaDetalhe: true);
                }
            }
        }
Exemplo n.º 4
0
        public override void TeclaPressionada(int KeyCode, int Shift, ExtensibilityEventArgs e)
        {
            base.TeclaPressionada(KeyCode, Shift, e);

            if (KeyCode == 80 && Shift == 3)
            {
                CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);
                mngr.PR_GlobalPosition("C", Cliente.Cliente);
                KeyCode = 0;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Processes after the company opening.
        /// </summary>
        /// <param name="e"></param>
        public override void DepoisDeAbrirEmpresa(ExtensibilityEventArgs e)
        {
            base.DepoisDeAbrirEmpresa(e);

            // Check pending documents to import
            CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);
            mngr.CheckPendingDocuments();

            // Add the application menus to the Ribbon (Tab GERAL)
            StdBSPRibbon RibbonEvents = PSO.Ribbon;

            RibbonEvents.Executa += RibbonEvents_Executa;
        }
Exemplo n.º 6
0
 /// <summary>
 /// Run the ribbon commands
 /// </summary>
 /// <param name="Id"></param>
 /// <param name="Comando"></param>
 private void RibbonEvents_Executa(string Id, string Comando)
 {
     try
     {
         switch (Id)
         {
         case cXMERIBBON_BTNIMPORT:
             CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);
             mngr.ImportDocuments();
             break;
         }
     }
     catch (System.Exception ex)
     {
         PSO.Dialogos.MostraAviso("Fail to execute the command.", StdBSTipos.IconId.PRI_Informativo, ex.Message);
     }
 }
        public override void TeclaPressionada(int KeyCode, int Shift, BasBETiposGcp.TE_DocCCorrentes TDocumento, ExtensibilityEventArgs e)
        {
            base.TeclaPressionada(KeyCode, Shift, TDocumento, e);

            if (KeyCode == 80 && Shift == 3)
            {
                CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);
                if (this.DocumentoLiquidacao.TipoEntidade == "F")
                {
                    mngr.PR_GlobalPosition("F", DocumentoLiquidacao.Entidade);
                }
                else
                {
                    mngr.PR_GlobalPosition("C", DocumentoLiquidacao.Entidade);
                }
                KeyCode = 0;
            }
        }
        public override void TeclaPressionada(int KeyCode, int Shift, ExtensibilityEventArgs e)
        {
            base.TeclaPressionada(KeyCode, Shift, e);

            if (KeyCode == 80 && Shift == 3)
            {
                CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);

                if (DocumentoInterno.TipoEntidade == "F")
                {
                    mngr.PR_GlobalPosition("F", DocumentoInterno.Entidade);
                }
                else if (DocumentoInterno.TipoEntidade == "C")
                {
                    mngr.PR_GlobalPosition("C", DocumentoInterno.Entidade);
                }
                KeyCode = 0;
            }
        }
Exemplo n.º 9
0
        public override void ClienteIdentificado(string Cliente, ref bool Cancel, ExtensibilityEventArgs e)
        {
            base.ClienteIdentificado(Cliente, ref Cancel, e);

            CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);
            List <String>        companiesCreditExceeded = mngr.PR_CreditLimitExceeded(Cliente);

            if (companiesCreditExceeded.Count > 0)
            {
                if (BSO.Contexto.ObjUtilizador.Administrador)
                {
                    PSO.Dialogos.MostraMensagem(
                        StdPlatBS100.StdBSTipos.TipoMsg.PRI_Detalhe,
                        "O cliente tem o crédito bloqueado ou excedido no grupo.",
                        StdPlatBS100.StdBSTipos.IconId.PRI_Informativo,
                        String.Format("Empresas com situação bloqueada: {0}. O utilizador {1} pode prosseguir por ter perfil de administrador.",
                                      string.Join(",", companiesCreditExceeded),
                                      BSO.Contexto.ObjUtilizador.Nome));
                }
                else
                {
                    Cancel = true;
                    if (PSO.Dialogos.MostraMensagem(
                            StdPlatBS100.StdBSTipos.TipoMsg.PRI_SimNao,
                            String.Format("O cliente tem o crédito bloqueado/excedido nas seguintes empresas: {0}. Activar PIN de desbloqueio?", string.Join(",", companiesCreditExceeded)),
                            StdPlatBS100.StdBSTipos.IconId.PRI_Questiona) == StdPlatBS100.StdBSTipos.ResultMsg.PRI_Sim)
                    {
                        Cancel = false;
                        if (!mngr.PLT_CheckPassword(Properties.Settings.Default.UnlockPIN))
                        {
                            Cancel = true;
                            PSO.Dialogos.MostraMensagem(StdPlatBS100.StdBSTipos.TipoMsg.PRI_SimplesOk, "PIN inválido!", StdPlatBS100.StdBSTipos.IconId.PRI_Critico);
                        }
                    }
                }
            }
        }
        public void ImportDocuments()
        {
            CrossCompany.Manager mngr = new CrossCompany.Manager(PSO, BSO);

            mngr.ImportDocuments();
        }