gov.va.medora.mdo.dao.vista.VistaUserDao.addPermission C# (CSharp) Method

addPermission() public method

public addPermission ( string duz, AbstractPermission p ) : AbstractPermission
duz string
p AbstractPermission
return AbstractPermission
        public AbstractPermission addPermission(string duz, AbstractPermission p)
        {
            if (p.Type == PermissionType.MenuOption)
            {
                p.RecordId = addMenuOption(duz, p);
                return p;
            }
            if (p.Type == PermissionType.DelegatedOption)
            {
                p.RecordId = addDelegatedOption(duz, p);
                return p;
            }
            if (p.Type == PermissionType.SecurityKey)
            {
                return addSecurityKey(duz, p);
            }
            throw new ArgumentException("Invalide permission type");
        }

Usage Example

示例#1
0
        //internal void setVisitorContext(AbstractPermission requestedContext, string DUZ)
        //{
        //    try
        //    {
        //        setContext(requestedContext);
        //        return;
        //    }
        //    catch (UnauthorizedAccessException uae)
        //    {
        //        addContextInVista(DUZ, requestedContext);
        //        setContext(requestedContext);
        //    }
        //    catch (Exception e)
        //    {
        //        throw;
        //    }
        //}
        // This is how the visitor gets the requested context - typically
        // OR CPRS GUI CHART. The visitor comes back from VistA with CAPRI
        // context only.
        internal void addContextInVista(string duz, AbstractPermission requestedContext)
        {
            if (Permissions.ContainsKey(requestedContext.Name))
            {
                return;
            }
            VistaUserDao dao = new VistaUserDao(Cxn);

            // try/catch should fix: http://trac.medora.va.gov/web/ticket/2288
            try
            {
                setContext(requestedContext);
            }
            catch (Exception)
            {
                try
                {
                    // will get CONTEXT HAS NOT BEEN CREATED if we don't set this again after failed attempt
                    setContext(new MenuOption(VistaConstants.DDR_CONTEXT));
                    dao.addPermission(duz, requestedContext);
                    setContext(requestedContext);
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }
VistaUserDao