} // 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()
/// <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); }
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(); }
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(); }
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(); }
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); }
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); }
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); }
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); }
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); }
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()
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()
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); }
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); }
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); }
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.", ""); } }
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()
private void throwException(ICswResources Resources, CswWebSvcReturn Output, object Input) { throw new CswDniException("Generated an exception for web service endpoint Testing."); }
public static void startCAFImport(ICswResources CswResources, CswWebSvcReturn Ret, CswNbtImportWcf.StartImportParams Params) { CswNbtImportTools.startCAFImportImpl(CswResources, Params.CAFDatabase, Params.CAFSchema, Params.CAFPassword, CswEnumSetupMode.NbtWeb); }
/// <summary> /// Cancel a running job /// </summary> public static void cancelJob(ICswResources CswResources, CswWebSvcReturn ret, CswNbtImportWcf.JobRequest parms) { CswNbtImportTools.CancelJob((CswNbtResources)CswResources, parms.JobId); }