} // MailReportSubscriptions #endregion WCF Data Objects public static void getSubscriptions(ICswResources CswResources, MailReportSubscriptionsReturn Return, object Request) { CswNbtResources CswNbtResources = (CswNbtResources)CswResources; MailReportSubscriptions Subs = new MailReportSubscriptions(); CswPrimaryKey ThisUserPk = CswNbtResources.CurrentNbtUser.UserId; CswNbtMetaDataObjectClass MailReportOC = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.MailReportClass); foreach (CswNbtObjClassMailReport MailReportNode in MailReportOC.getNodes(false, false)) { if (CswNbtResources.Permit.canNode(CswEnumNbtNodeTypePermission.View, MailReportNode.getPermissionGroupId())) { MailReportSubscriptions.Subscription sub = new MailReportSubscriptions.Subscription { Name = MailReportNode.NodeName, NodeId = MailReportNode.NodeId.ToString(), Subscribed = MailReportNode.Recipients.IsSubscribed(ThisUserPk), IsDemo = MailReportNode.IsDemo }; Subs.Subscriptions.Add(sub); } } Return.Data = Subs; } // getSubscriptions()
} // 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()
public MailReportSubscriptionsReturn() { Data = new MailReportSubscriptions(); }