Пример #1
0
        /// <summary>
        /// Verifica se é necessáiro adicionar permissões do usuário no SAP
        /// se existirem adiciona novas
        /// </summary>
        /// <param name="pAutorizations">Uma lista de autorizações</param>
        public static void CheckForNewPermission(List <UserAutorizationTree> pAutorizations)
        {
            string companyDb = Application.GetInstance().Company.DatabaseName;

            foreach (var autorizarion in pAutorizations)
            {
                var autoExists = new UserAutorizationTree(companyDb);

                if (!autoExists.GetByKey(autorizarion.AbsID))
                {
                    Add(autorizarion);
                }

                if (!Equals(autoExists.Name, autorizarion.Name))
                {
                    UpdateName(autorizarion);
                }

                if (!autorizarion.Children.IsEmpty())
                {
                    autorizarion.Children.ForEach(a => a.FathID = autorizarion.AbsID);
                    CheckForNewPermission(autorizarion.Children);
                }
            }
        }
Пример #2
0
        private static void UpdateName(UserAutorizationTree autorizarion)
        {
            if (Application.GetInstance().AppType != eAppType.SAPForms)
            {
                throw new Exception("Aplicação não da suporte a atualização de autorizações!");
            }

            if (SboCompany == null)
            {
                SboCompany = ApplicationSAP.GetInstance().SAPApp.Company.GetDICompany() as SAPbobsCOM.Company;
            }

            var userTree = SboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserPermissionTree) as SAPbobsCOM.UserPermissionTree;

            if (!userTree.GetByKey(autorizarion.AbsID))
            {
                return;
            }

            userTree.Name = autorizarion.Name;

            if (userTree.Update() != 0)
            {
                throw new Exception(
                          "Erro ao tentar atualizar a autorização :\n{0} - {1}".Fmt(
                              SboCompany.GetLastErrorCode(),
                              SboCompany.GetLastErrorDescription()));
            }
        }
Пример #3
0
 /// <summary>
 /// Verifica se é necessáiro adicionar permissões do usuário no SAP
 /// se existirem adiciona novas
 /// </summary>
 /// <param name="pAutorizations">A autorização raiz da aplicação</param>
 public static void CheckForNewPermission(UserAutorizationTree pAutorizations)
 {
     CheckForNewPermission(new List <UserAutorizationTree>()
     {
         pAutorizations
     });
 }
Пример #4
0
        private UserAutorizationTree GetApplicationAutorTree()
        {
            var route = new UserAutorizationTree()
            {
                AbsID   = RouteNamespace,
                Name    = "Roterizador",
                Options = OptionsType.FullNone
            };

            #region PackingList
            var rom = new UserAutorizationTree()
            {
                AbsID   = Packinlist,
                Name    = "Romaneio",
                Options = OptionsType.FullNone
            };

            rom.Children.Add(
                new UserAutorizationTree()
            {
                AbsID   = PackinlistRemove,
                Name    = "Remover",
                Options = OptionsType.FullNone,
                IsItem  = eYesNo.Yes
            });

            rom.Children.Add(
                new UserAutorizationTree()
            {
                AbsID   = PackinlistEdit,
                Name    = "Editar",
                Options = OptionsType.FullNone,
                IsItem  = eYesNo.Yes
            });

            rom.Children.Add(
                new UserAutorizationTree()
            {
                AbsID   = PackinlistAdd,
                Name    = "Adicionar",
                Options = OptionsType.FullNone,
                IsItem  = eYesNo.Yes
            });

            route.Children.Add(rom);
            #endregion

            return(route);
        }
Пример #5
0
        private static void Add(UserAutorizationTree pAutorization)
        {
            if (Application.GetInstance().AppType != eAppType.SAPForms)
            {
                throw new Exception("Aplicação não da suporte a adição de autorizações!");
            }

            if (pAutorization.Name.Length > 64)
            {
                var message = string.Format("A   autorização [{0}-{1}] tem mais que 64 caracteres.",
                                            pAutorization.AbsID, pAutorization.Name);
                throw new Exception(message);
            }

            if (SboCompany == null)
            {
                SboCompany = ApplicationSAP.GetInstance().SAPApp.Company.GetDICompany() as SAPbobsCOM.Company;
            }

            var userTree = SboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserPermissionTree) as SAPbobsCOM.UserPermissionTree;


            userTree.PermissionID = pAutorization.AbsID;
            userTree.ParentID     = pAutorization.FathID;
            userTree.Name         = pAutorization.Name;
            userTree.IsItem       = pAutorization.IsItem == eYesNo.Yes ? SAPbobsCOM.BoYesNoEnum.tYES : SAPbobsCOM.BoYesNoEnum.tNO;
            userTree.Options      = (SAPbobsCOM.BoUPTOptions)pAutorization.Options.To <Int32>();

            if (userTree.Add() != 0)
            {
                throw new Exception(
                          "Erro ao tentar adicionar a autorização :\n{0} - {1}".Fmt(
                              SboCompany.GetLastErrorCode(),
                              SboCompany.GetLastErrorDescription()));
            }
        }