/// <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); } } }
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())); } }
/// <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 }); }
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); }
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())); } }