Exemplo n.º 1
0
        } // getSubscriptions()

        public static void saveSubscriptions(ICswResources CswResources, CswWebSvcReturn Return, MailReportSubscriptions Request)
        {
            CswNbtResources           CswNbtResources = (CswNbtResources)CswResources;
            CswPrimaryKey             ThisUserPk      = CswNbtResources.CurrentNbtUser.UserId;
            CswNbtMetaDataObjectClass MailReportOC    = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.MailReportClass);

            foreach (MailReportSubscriptions.Subscription sub in Request.Subscriptions)
            {
                if (sub.Modified)
                {
                    CswPrimaryKey NodeId = new CswPrimaryKey();
                    NodeId.FromString(sub.NodeId);

                    CswNbtObjClassMailReport MailReportNode = CswNbtResources.Nodes[NodeId];
                    if (sub.Subscribed)
                    {
                        MailReportNode.Recipients.AddUser(ThisUserPk);
                    }
                    else
                    {
                        MailReportNode.Recipients.RemoveUser(ThisUserPk);
                    }
                    MailReportNode.postChanges(false);
                }
            }
        } // saveSubscriptions()
Exemplo n.º 2
0
        /// <summary>
        /// Removes the node from the current user's Favorites
        /// </summary>
        /// <param name="_CswResources">Resources</param>
        /// <param name="Response">Empty Repsonse Object</param>
        /// <param name="NodeId">NodeId to un-Favorite</param>
        public static void removeFromFavorites(ICswResources _CswResources, CswWebSvcReturn Response, String NodeId)
        {
            CswNbtResources _CswNbtResources = (CswNbtResources)_CswResources;
            CswPrimaryKey   NodePK           = CswConvert.ToPrimaryKey(NodeId);
            Int32           UserId           = _CswNbtResources.CurrentNbtUser.UserId.PrimaryKey;

            toggleFavorite(_CswNbtResources, NodePK.PrimaryKey, UserId, CswEnumTristate.False);
        }
Exemplo n.º 3
0
        public static void UpdateTabOrder(ICswResources CswResources, CswWebSvcReturn Ret, CswNbtTabMoveRequest Req)
        {
            CswNbtResources NbtResources        = (CswNbtResources)CswResources;
            CswNbtObjClassDesignNodeTypeTab Tab = NbtResources.Nodes.getNodeByRelationalId(new CswPrimaryKey("nodetype_tabset", Req.TabId));

            Tab.UpdateTabPosition(Req.NewPosition);

            NbtResources.MetaData.refreshAll();
            Tab.RelationalNodeTypeTab.getNodeType().DesignNode.RecalculateQuestionNumbers();
        }
Exemplo n.º 4
0
        public static void uploadImportDefinition(ICswResources CswResources, CswWebSvcReturn ret, CswNbtImportWcf.ImportFileParams parms)
        {
            CswNbtResources CswNbtResources = (CswNbtResources)CswResources;
            CswNbtImporter  Importer        = new CswNbtImporter(CswNbtResources.AccessId, CswEnumSetupMode.NbtWeb);

            // Write uploaded file to temp dir
            CswTempFile myTempFile = new CswTempFile(CswResources);
            string      path       = myTempFile.saveToTempFile(parms.PostedFile.InputStream, DateTime.Now.Ticks + "_" + parms.PostedFile.FileName);

            Importer.storeDefinition(path, parms.ImportDefName);
            Importer.Finish();
        }
Exemplo n.º 5
0
        public static void updateImportDefinition(ICswResources CswResources, CswWebSvcReturn Ret, CswNbtImportWcf.DefinitionUpdateRow[] Params)
        {
            //NOTE: if we decide to use definitions other than CAF in the future, we're going to need a way to discern what definition we're working with
            CswNbtSchemaUpdateImportMgr ImportUpdater = new CswNbtSchemaUpdateImportMgr(new CswNbtSchemaModTrnsctn((CswNbtResources)CswResources), "CAF", ImporterSetUpMode: CswEnumSetupMode.NbtWeb);

            foreach (CswNbtImportWcf.DefinitionUpdateRow Row in Params)
            {
                ImportUpdater.updateDefinitionElementByPK(Row.definitionType, Row.editMode, Row.row);
            }

            ImportUpdater.finalize();
        }
Exemplo n.º 6
0
        public CswWebSvcReturn endCurrentUserSessions()
        {
            CswWebSvcReturn Ret = new CswWebSvcReturn();

            var SvcDriver = new CswWebSvcDriver <CswWebSvcReturn, object>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: Ret,
                WebSvcMethodPtr: CswNbtWebServiceSession.endCurrentUserSessions,
                ParamObj: null
                );

            SvcDriver.run();
            return(Ret);
        }
Exemplo n.º 7
0
        public CswWebSvcReturn removeFromFavorites(string NodeId)
        {
            CswWebSvcReturn Ret = new CswWebSvcReturn();

            var SvcDriver = new CswWebSvcDriver <CswWebSvcReturn, string>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context),
                ReturnObj: Ret,
                WebSvcMethodPtr: CswNbtWebServiceNode.removeFromFavorites,
                ParamObj: NodeId
                );

            SvcDriver.run();
            return(Ret);
        }
Exemplo n.º 8
0
        public CswWebSvcReturn updateTabOrder(CswNbtTabMoveRequest Request)
        {
            CswWebSvcReturn Ret = new CswWebSvcReturn();

            var GetViewDriverType = new CswWebSvcDriver <CswWebSvcReturn, CswNbtTabMoveRequest>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: Ret,
                WebSvcMethodPtr: CswNbtWebServiceLayout.UpdateTabOrder,
                ParamObj: Request
                );

            GetViewDriverType.run();
            return(Ret);
        }
Exemplo n.º 9
0
        public CswWebSvcReturn deleteTab(int TabId)
        {
            CswWebSvcReturn Ret = new CswWebSvcReturn();

            var GetViewDriverType = new CswWebSvcDriver <CswWebSvcReturn, int>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: Ret,
                WebSvcMethodPtr: CswNbtWebServiceLayout.DeleteTab,
                ParamObj: TabId
                );

            GetViewDriverType.run();
            return(Ret);
        }
Exemplo n.º 10
0
        public CswWebSvcReturn exception()
        {
            //delegate has to be static because you can't create an instance yet: you don't have resources until the delegate is actually called
            CswWebSvcReturn Ret = new CswWebSvcReturn();
            var             GetViewDriverType = new CswWebSvcDriver <CswWebSvcReturn, object>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: Ret,
                WebSvcMethodPtr: throwException,
                ParamObj: null
                );

            GetViewDriverType.run();
            return(Ret);
        }
Exemplo n.º 11
0
        public CswWebSvcReturn startImport(CswNbtImportWcf.StartImportParams Params)
        {
            CswWebSvcReturn Ret = new CswWebSvcReturn();

            var SvcDriver = new CswWebSvcDriver <CswWebSvcReturn, CswNbtImportWcf.StartImportParams>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: Ret,
                WebSvcMethodPtr: CswNbtWebServiceImport.startCAFImport,
                ParamObj: Params
                );

            SvcDriver.run();

            return(Ret);
        }//startImport()
Exemplo n.º 12
0
        public CswWebSvcReturn cancelJob(CswNbtImportWcf.JobRequest parms)
        {
            CswWebSvcReturn ret = new CswWebSvcReturn();

            var SvcDriver = new CswWebSvcDriver <CswWebSvcReturn, CswNbtImportWcf.JobRequest>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, AuthRequest),
                ReturnObj: ret,
                WebSvcMethodPtr: CswNbtWebServiceImport.cancelJob,
                ParamObj: parms
                );

            SvcDriver.run();

            return(ret);
        } // cancelJob()
Exemplo n.º 13
0
        public CswWebSvcReturn updateImportDefinition(CswNbtImportWcf.DefinitionUpdateRow[] parms)
        {
            CswWebSvcReturn ret = new CswWebSvcReturn();

            var SvcDriver = new CswWebSvcDriver <CswWebSvcReturn, CswNbtImportWcf.DefinitionUpdateRow[]>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: ret,
                WebSvcMethodPtr: CswNbtWebServiceImport.updateImportDefinition,
                ParamObj: parms
                );

            SvcDriver.run();

            return(ret);
        }
Exemplo n.º 14
0
        public CswWebSvcReturn saveSubscriptions(CswNbtWebServiceMailReports.MailReportSubscriptions Subscriptions)
        {
            //delegate has to be static because you can't create an instance yet: you don't have resources until the delegate is actually called
            CswWebSvcReturn Ret = new CswWebSvcReturn();

            var SvcDriver = new CswWebSvcDriver <CswWebSvcReturn, CswNbtWebServiceMailReports.MailReportSubscriptions>(
                CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                ReturnObj: Ret,
                WebSvcMethodPtr: CswNbtWebServiceMailReports.saveSubscriptions,
                ParamObj: Subscriptions
                );

            SvcDriver.run();
            return(Ret);
        }
Exemplo n.º 15
0
        public CswWebSvcReturn uploadImportDefinition(string ImportDefName)
        {
            CswWebSvcReturn ret = new CswWebSvcReturn();

            if (_Context.Request.Files.Count > 0)
            {
                CswNbtImportWcf.ImportFileParams parms = new CswNbtImportWcf.ImportFileParams();
                parms.PostedFile    = _Context.Request.Files[0];
                parms.ImportDefName = ImportDefName;

                var SvcDriver = new CswWebSvcDriver <CswWebSvcReturn, CswNbtImportWcf.ImportFileParams>(
                    CswWebSvcResourceInitializer: new CswWebSvcResourceInitializerNbt(_Context, null),
                    ReturnObj: ret,
                    WebSvcMethodPtr: CswNbtWebServiceImport.uploadImportDefinition,
                    ParamObj: parms
                    );

                SvcDriver.run();
            }

            return(ret);
        }
Exemplo n.º 16
0
        public static void DeleteTab(ICswResources CswResources, CswWebSvcReturn Ret, int TabId)
        {
            CswNbtResources NbtResources        = (CswNbtResources)CswResources;
            CswNbtObjClassDesignNodeTypeTab Tab = NbtResources.MetaData.getNodeTypeTab(TabId).DesignNode;

            CswNbtView             NodetypeTabs    = new CswNbtView(NbtResources);
            CswNbtViewRelationship TabRelationship = NodetypeTabs.AddViewRelationship(Tab.NodeType, true);

            //only check tabs for the nodetype that we're working with
            NodetypeTabs.AddViewPropertyAndFilter(
                TabRelationship,
                Tab.NodeType.getNodeTypeProp(CswNbtObjClassDesignNodeTypeTab.PropertyName.NodeTypeValue),
                Value: Tab.NodeTypeValue.RelatedNodeId.PrimaryKey.ToString(),
                FilterMode: CswEnumNbtFilterMode.Equals,
                Conjunction: CswEnumNbtFilterConjunction.And,
                SubFieldName: CswEnumNbtSubFieldName.NodeID
                );
            //for now, we don't have a better way to fetch identity tab than by name, but there is another pending case on this
            NodetypeTabs.AddViewPropertyAndFilter(
                TabRelationship,
                Tab.NodeType.getNodeTypeProp(CswNbtObjClassDesignNodeTypeTab.PropertyName.TabName),
                Value: "Identity",
                Conjunction: CswEnumNbtFilterConjunction.And,
                FilterMode: CswEnumNbtFilterMode.NotEquals
                );
            ICswNbtTree Tree = NbtResources.Trees.getTreeFromView(NodetypeTabs, false, false, true);

            //see how many tabs we returned, so we can ensure we're not deleting the last tab in the layout
            if (Tree.getChildNodeCount() > 1)
            {
                Tab.Node.delete();
            }
            else
            {
                throw new CswDniException(CswEnumErrorType.Warning, "Cannot delete the last tab of a nodetype.", "");
            }
        }
Exemplo n.º 17
0
        public static void wAddAuthenticationStatus(CswNbtResources CswNbtResources, CswSessionResourcesNbt CswSessionResources, CswWebSvcReturn SvcReturn, CswEnumAuthenticationStatus AuthenticationStatusIn, HttpContext HttpContext)
        {
            // ******************************************
            // IT IS VERY IMPORTANT for this function not to require the use of database resources,
            // since it occurs AFTER the call to _deInitResources(), and thus will leak Oracle connections
            // (see case 26273)
            // ******************************************
            if (null != SvcReturn)
            {
                SvcReturn.Authentication = SvcReturn.Authentication ?? new CswWebSvcSessionAuthenticateData.Authentication.Response();
                SvcReturn.Authentication.AuthenticationStatus = AuthenticationStatusIn;
                if (null != CswNbtResources)
                {
                    if (null != CswNbtResources.CswSessionManager)
                    {
                        SvcReturn.Authentication.TimeOut = CswDateTime.ToClientAsJavascriptString(CswNbtResources.CswSessionManager.TimeoutDate);
                    }
                    if (SvcReturn.Authentication.AuthenticationStatus == CswEnumAuthenticationStatus.ExpiredPassword)
                    {
                        SvcReturn.Authentication.ExpirationReset = new CswWebSvcSessionAuthenticateData.Authentication.Response.Expired();

                        ICswNbtUser CurrentUser = CswNbtResources.CurrentNbtUser;
                        SvcReturn.Authentication.ExpirationReset.UserId = CurrentUser.UserId.ToString();
                        CswNbtNodeKey FakeKey = new CswNbtNodeKey()
                        {
                            NodeId        = CurrentUser.UserId,
                            NodeSpecies   = CswEnumNbtNodeSpecies.Plain,
                            NodeTypeId    = CurrentUser.UserNodeTypeId,
                            ObjectClassId = CurrentUser.UserObjectClassId
                        };
                        SvcReturn.Authentication.ExpirationReset.UserKey = FakeKey.ToString();
                        CswPropIdAttr PasswordPropIdAttr = new CswPropIdAttr(CurrentUser.UserId, CurrentUser.PasswordPropertyId);
                        SvcReturn.Authentication.ExpirationReset.PasswordId = PasswordPropIdAttr.ToString();
                    }

                    SvcReturn.Performance               = SvcReturn.Performance ?? new CswWebSvcReturnBase.Performance();
                    SvcReturn.Performance.ServerInit    = Math.Round(CswNbtResources.ServerInitTime, 3);
                    SvcReturn.Performance.DbDeinit      = Math.Round(CswNbtResources.CswLogger.DbInitTime, 3);
                    SvcReturn.Performance.DbQuery       = Math.Round(CswNbtResources.CswLogger.DbQueryTime, 3);
                    SvcReturn.Performance.DbCommit      = Math.Round(CswNbtResources.CswLogger.DbCommitTime, 3);
                    SvcReturn.Performance.DbDeinit      = Math.Round(CswNbtResources.CswLogger.DbDeInitTime, 3);
                    SvcReturn.Performance.TreeLoaderSql = Math.Round(CswNbtResources.CswLogger.TreeLoaderSQLTime, 3);
                    SvcReturn.Performance.ServerTotal   = Math.Round(CswNbtResources.TotalServerTime, 3);

                    SvcReturn.Logging            = SvcReturn.Logging ?? new CswWebSvcReturnBase.Logging();
                    SvcReturn.Logging.CustomerId = CswNbtResources.AccessId;
                    SvcReturn.Logging.Server     = Environment.MachineName;
                    CswEnumLogLevels LogLevel = CswNbtResources.ConfigVbls.getConfigVariableValue(CswEnumConfigurationVariableNames.Logging_Level);

                    if (LogLevel == CswNbtResources.UnknownEnum)
                    {
                        LogLevel = CswEnumLogLevels.Error;
                    }
                    SvcReturn.Logging.LogLevel = LogLevel;

                    // Return any messages acquired along the way
                    if (null != CswNbtResources.Messages && CswNbtResources.Messages.Count > 0)
                    {
                        SvcReturn.Status.Messages = CswNbtResources.Messages;
                    }
                }
            }
            HttpCookie AuthStatusCookie = HttpContext.Request.Cookies["CswAuthStatus"];

            if (null == AuthStatusCookie)
            {
                AuthStatusCookie = new HttpCookie("CswAuthStatus")
                {
                    HttpOnly = true
                };
            }
            if (AuthStatusCookie.Value != AuthenticationStatusIn.ToString())
            {
                AuthStatusCookie.Value = AuthenticationStatusIn;
                HttpContext.Response.Cookies.Add(AuthStatusCookie);
            }
        } // wAddAuthenticationStatus()
Exemplo n.º 18
0
 private void throwException(ICswResources Resources, CswWebSvcReturn Output, object Input)
 {
     throw new CswDniException("Generated an exception for web service endpoint Testing.");
 }
Exemplo n.º 19
0
 public static void startCAFImport(ICswResources CswResources, CswWebSvcReturn Ret, CswNbtImportWcf.StartImportParams Params)
 {
     CswNbtImportTools.startCAFImportImpl(CswResources, Params.CAFDatabase, Params.CAFSchema, Params.CAFPassword, CswEnumSetupMode.NbtWeb);
 }
Exemplo n.º 20
0
 /// <summary>
 /// Cancel a running job
 /// </summary>
 public static void cancelJob(ICswResources CswResources, CswWebSvcReturn ret, CswNbtImportWcf.JobRequest parms)
 {
     CswNbtImportTools.CancelJob((CswNbtResources)CswResources, parms.JobId);
 }