예제 #1
0
        protected override void OnInit(EventArgs e)
        {
            try
            {
                //bz # 9278


                CswSessionResourcesNbt = new CswSessionResourcesNbt(Context.Application, Context.Request, Context.Response, Context, string.Empty, CswEnumSetupMode.NbtWeb);


                CswNbtResources = CswSessionResourcesNbt.CswNbtResources;


                _CswSessionManager      = CswSessionResourcesNbt.CswSessionManager;
                _CswNbtStatisticsEvents = CswSessionResourcesNbt.CswNbtStatisticsEvents;
                CswNbtResources.beginTransaction();

                // Setup statistics events
                OnEndOfPageLifeCycle += new EndOfPageLifeCycleHandler(_CswNbtStatisticsEvents.OnEndOfPageLifeCycle);

                //CswNbtResources.CswNbtNodeFactory.OnWriteNode += new CswNbtNode.OnRequestWriteNodeHandler( _CswNbtStatisticsEvents.OnWriteNode );
                //CswNbtResources.CswNbtNodeFactory.OnDeleteNode += new CswNbtNode.OnRequestDeleteNodeHandler( _CswNbtStatisticsEvents.OnDeleteNode );



                LogTimerResult("Base.OnInit() started", Timer.ElapsedDurationInSecondsAsString);

                //bz # 9278
                if (_CswSessionManager.IsAuthenticated() && _CswSessionManager.TimedOut)
                {
                    string LP = LogoutPath;
                    if (Page.Request.IsAuthenticated)
                    {
                        FormsAuthentication.SignOut();
                    }
                    //ReleaseAll();
                    //CswSessionResourcesNbt.DeAuthenticate(); //bz # 6163
                    Redirect(LP);
                }

                if (!CswSessionManager.IsAuthenticated())
                {
                    string ScriptName = HttpContext.Current.Request.ServerVariables["SCRIPT_NAME"];
                    if (ScriptName.Substring(ScriptName.LastIndexOf('/')) != "/Main.html")
                    {
                        //ReleaseAll();
                        Redirect(LogoutPath);
                    }
                }

                base.OnInit(e);

                LogTimerResult("Base.OnInit() finished", Timer.ElapsedDurationInSecondsAsString);
            }
            catch (Exception ex)
            {
                HandleError(ex);
            }
        }//OnInit()
예제 #2
0
 public CswNbtWebServiceTable( CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents, Int32 NodeTypeId )
 {
     _CswNbtResources = CswNbtResources;
     _CswNbtStatisticsEvents = CswNbtStatisticsEvents;
     _CswNbtResources.EditMode = CswEnumNbtNodeEditMode.Table;
     _CswNbtSearchPropOrder = new CswNbtSearchPropOrder( _CswNbtResources );
     _FilterToNodeTypeId = NodeTypeId;
 }
예제 #3
0
 /// <summary>
 /// Base Constructor
 /// </summary>
 public CswNbtWebServiceCreateMaterial(CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents)
 {
     _CswNbtResources         = CswNbtResources;
     _CswNbtActCreateMaterial = new CswNbtActCreateMaterial(CswNbtResources);
     if (false == _CswNbtResources.Permit.can(CswEnumNbtActionName.Create_Material, _CswNbtResources.CurrentNbtUser))
     {
         throw new CswDniException(CswEnumErrorType.Error, "You do not have permission to use the Create Material wizard.", "Attempted to access the Create Material wizard with role of " + _CswNbtResources.CurrentNbtUser.Rolename);
     }
 }
예제 #4
0
        public CswNbtSdNode(CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents = null)
        {
            _CswNbtResources        = CswNbtResources;
            _CswNbtStatisticsEvents = CswNbtStatisticsEvents;
            Int32 SearchThreshold = CswConvert.ToInt32(_CswNbtResources.ConfigVbls.getConfigVariableValue(CswEnumNbtConfigurationVariables.relationshipoptionlimit.ToString()));

            if (SearchThreshold > 0)
            {
                _SearchThreshold = SearchThreshold;
            }
        }
예제 #5
0
        public CswSessionResourcesNbt(HttpApplicationState HttpApplicationState, HttpRequest HttpRequest, HttpResponse HttpResponse, HttpContext Context, string LoginAccessId, CswEnumSetupMode SetupMode)
        {
            //SuperCycleCache configuraiton has to happen here because here is where we can stash the cache,
            //so to speak, in the wrapper class -- the resource factory is agnostic with respect to cache type
            CswSetupVbls SetupVbls = new CswSetupVbls(CswEnumSetupMode.NbtWeb);

            ICswSuperCycleCache CswSuperCycleCache = new CswSuperCycleCacheWeb(Context.Cache);

            // Set the cache to drop anything 10 minutes old
            CswSuperCycleCache.CacheDirtyThreshold = DateTime.Now.Subtract(new TimeSpan(0, 10, 0));


            CswDbCfgInfo CswDbCfgInfo = new CswDbCfgInfo(CswEnumSetupMode.NbtWeb);

            CswResourcesMaster = new CswResources(CswEnumAppType.Nbt, SetupVbls, CswDbCfgInfo, new CswSuperCycleCacheDefault(), null);
            CswResourcesMaster.SetDbResources(ChemSW.RscAdo.CswEnumPooledConnectionState.Open);
            CswResourcesMaster.AccessId = CswDbCfgInfo.MasterAccessId;

            CswNbtResources = CswNbtResourcesFactory.makeCswNbtResources(CswEnumAppType.Nbt, SetupMode, true, CswSuperCycleCache, RscAdo.CswEnumPooledConnectionState.Open, CswResourcesMaster, CswResourcesMaster.CswLogger);

            bool RecordStatistics = CswConvert.ToBoolean(CswNbtResources.SetupVbls[CswEnumSetupVariableNames.RecordUserStatistics]);

            //Dictionary<string, string> Cookies = new Dictionary<string, string>();
            //foreach( string CookieName in Context.Request.Cookies )
            //{
            //    Cookies[CookieName] = Context.Request.Cookies[CookieName].Value;
            //}

            CswNbtSchemaAuthenticatorFactory AuthenticatorFactory = new CswNbtSchemaAuthenticatorFactory(CswNbtResources);
            ICswSchemaAuthenticater          Authenticator        = AuthenticatorFactory.Make(CswNbtResources.SetupVbls);

            CswSessionManager = new CswSessionManager(CswEnumAppType.Nbt,
                                                      new CswWebClientStorageHttpHeader(HttpRequest, HttpResponse),
                                                      //new CswWebClientStorageCookies( HttpRequest, HttpResponse ),
                                                      LoginAccessId,
                                                      CswNbtResources.SetupVbls,
                                                      CswNbtResources.CswDbCfgInfo,
                                                      CswNbtResources,
                                                      CswResourcesMaster,
                                                      Authenticator,
                                                      //Cookies,
                                                      _CswNbtStatistics = new CswNbtStatistics(new CswNbtStatisticsStorageDb(CswNbtResources),
                                                                                               new CswNbtStatisticsStorageStateServer(),
                                                                                               RecordStatistics));
            CswNbtResources.CswSessionManager = CswSessionManager;
            CswNbtStatisticsEvents            = _CswNbtStatistics.CswNbtStatisticsEvents;

            CswSessionManager.OnDeauthenticate += new CswSessionManager.DeathenticationHandler(OnDeauthenticate);

            CswNbtResources.AccessId = CswSessionManager.AccessId;
        }//ctor()
예제 #6
0
 public CswNbtWebServiceNode(CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents)
 {
     _CswNbtResources        = CswNbtResources;
     _CswNbtStatisticsEvents = CswNbtStatisticsEvents;
     _NodeSd = new CswNbtSdNode(_CswNbtResources, _CswNbtStatisticsEvents);
 }
예제 #7
0
 public static JObject getSizeNodeProps(CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents, Int32 SizeNodeTypeId, JObject SizeObj, bool WriteNode, out CswNbtNode SizeNode)
 {
     return(CswNbtActCreateMaterial.getSizeNodeProps(CswNbtResources, SizeNodeTypeId, SizeObj, WriteNode, out SizeNode));
 }
예제 #8
0
 public static JObject getSizeNodeProps(CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents, Int32 SizeNodeTypeId, string SizeDefinition, bool WriteNode)
 {
     return(CswNbtActCreateMaterial.getSizeNodeProps(CswNbtResources, SizeNodeTypeId, SizeDefinition, WriteNode));
 }
예제 #9
0
 public CswNbtWebServiceSearch(CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents)
 {
     _CswNbtResources        = CswNbtResources;
     _CswNbtStatisticsEvents = CswNbtStatisticsEvents;
     _ViewBuilder            = new CswNbtViewBuilder(_CswNbtResources, _ProhibittedFieldTypes);
 }//ctor
예제 #10
0
 public CswNbtWebServiceTabsAndProps(CswNbtResources CswNbtResources, CswNbtStatisticsEvents CswNbtStatisticsEvents, bool Multi = false, bool ConfigMode = false)
 {
     _TabsPropsSd = new CswNbtSdTabsAndProps(CswNbtResources, CswNbtStatisticsEvents, Multi, ConfigMode);
 }