//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; } } }
//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(VistaConstants.MDWS_CONTEXT) && !Permissions.ContainsKey(VistaConstants.DDR_CONTEXT)) //{ // throw new ArgumentException("User does not have correct menu options to add new context"); //} if (hasPermission(this.Cxn.Account.Permissions, requestedContext)) { return; } //setContext(Permissions[VistaConstants.DDR_CONTEXT]); // tbd - needed? i think this is superfluous 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; } } }
public AbstractPermission addPermission(string duz, AbstractPermission permission) { return(vistaDao.addPermission(duz, permission)); }