本文整理汇总了C#中Profiles.Framework.Utilities.SessionManagement类的典型用法代码示例。如果您正苦于以下问题:C# SessionManagement类的具体用法?C# SessionManagement怎么用?C# SessionManagement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SessionManagement类属于Profiles.Framework.Utilities命名空间,在下文中一共展示了SessionManagement类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DrawProfilesModule
private void DrawProfilesModule()
{
XsltArgumentList args = new XsltArgumentList();
XslCompiledTransform xslt = new XslCompiledTransform();
SessionManagement sm = new SessionManagement();
Utilities.DataIO data = new Profiles.Profile.Utilities.DataIO();
string email = string.Empty;
string imageemailurl = string.Empty;
if (this.BaseData.SelectSingleNode("rdf:RDF[1]/rdf:Description[1]/prns:emailEncrypted", this.Namespaces) != null &&
this.BaseData.SelectSingleNode("rdf:RDF[1]/rdf:Description[1]/vivo:email", this.Namespaces) == null)
{
email = this.BaseData.SelectSingleNode("rdf:RDF[1]/rdf:Description[1]/prns:emailEncrypted", this.Namespaces).InnerText;
imageemailurl = string.Format(Root.Domain + "/profile/modules/CustomViewPersonGeneralInfo/" + "EmailHandler.ashx?msg={0}", HttpUtility.UrlEncode(email));
}
args.AddParam("root", "", Root.Domain);
if (email != string.Empty)
{
args.AddParam("email", "", imageemailurl);
}
args.AddParam("imgguid", "", Guid.NewGuid().ToString());
litPersonalInfo.Text = XslHelper.TransformInMemory(Server.MapPath("~/Profile/Modules/CustomViewPersonGeneralInfo/CustomViewPersonGeneralInfo.xslt"), args, base.BaseData.OuterXml);
if (base.BaseData.SelectSingleNode("rdf:RDF/rdf:Description[1]/prns:mainImage/@rdf:resource", base.Namespaces) != null)
{
string imageurl = base.BaseData.SelectSingleNode("//rdf:RDF/rdf:Description[1]/prns:mainImage/@rdf:resource", base.Namespaces).Value;
imgPhoto.ImageUrl = imageurl + "&cachekey=" + Guid.NewGuid().ToString();
}
else
{
imgPhoto.Visible = false;
}
}
示例2: InsertProxy
public void InsertProxy(string userid)
{
SessionManagement sm = new SessionManagement();
try
{
string connstr = ConfigurationManager.ConnectionStrings["ProfilesDB"].ConnectionString;
SqlConnection dbconnection = new SqlConnection(connstr);
dbconnection.Open();
SqlCommand dbcommand = new SqlCommand();
dbcommand.CommandType = CommandType.StoredProcedure;
dbcommand.CommandText = "[User.Account].[Proxy.AddDesignatedProxy]";
dbcommand.CommandTimeout = base.GetCommandTimeout();
dbcommand.Parameters.Add(new SqlParameter("@SessionID", sm.Session().SessionID));
dbcommand.Parameters.Add(new SqlParameter("@UserID", userid));
dbcommand.Connection = dbconnection;
dbcommand.ExecuteNonQuery();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
示例3: CustomEditMailingAddress
public CustomEditMailingAddress(XmlDocument pagedata, List<ModuleParams> moduleparams, XmlNamespaceManager pagenamespaces)
: base(pagedata, moduleparams, pagenamespaces)
{
SessionManagement sm = new SessionManagement();
base.BaseData = pagedata;
data = new Edit.Utilities.DataIO();
if (Request.QueryString["subject"] != null)
this.SubjectID = Convert.ToInt64(Request.QueryString["subject"]);
else if (base.GetRawQueryStringItem("subject") != null)
this.SubjectID = Convert.ToInt64(base.GetRawQueryStringItem("subject"));
else
Response.Redirect("~/search");
string predicateuri = Request.QueryString["predicateuri"].Replace("!", "#");
this.PropertyListXML = data.GetPropertyList(this.BaseData, base.PresentationXML, predicateuri, false, true, false);
litBackLink.Text = "<a href='" + Root.Domain + "/edit/" + this.SubjectID.ToString() + "'>Edit Menu</a> > <b>" + PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value + "</b>";
//create a new network triple request.
base.RDFTriple = new RDFTriple(this.SubjectID, data.GetStoreNode(predicateuri));
base.RDFTriple.Expand = true;
base.RDFTriple.ShowDetails = true;
base.GetDataByURI();//This will reset the data to a Network.
securityOptions.Subject = this.SubjectID;
securityOptions.PredicateURI = predicateuri;
securityOptions.PrivacyCode = Convert.ToInt32(this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@ViewSecurityGroup").Value);
securityOptions.SecurityGroups = new XmlDataDocument();
securityOptions.SecurityGroups.LoadXml(base.PresentationXML.DocumentElement.LastChild.OuterXml);
}
示例4: EditDataTypeProperty
public EditDataTypeProperty(XmlDocument pagedata, List<ModuleParams> moduleparams, XmlNamespaceManager pagenamespaces)
: base(pagedata, moduleparams, pagenamespaces)
{
SessionManagement sm = new SessionManagement();
data = new Edit.Utilities.DataIO();
string predicateuri = Request.QueryString["predicateuri"].Replace("!", "#");
this.PropertyListXML = data.GetPropertyList(this.BaseData, base.PresentationXML, predicateuri, false, true, false);
PropertyLabel = this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value;
if (Request.QueryString["subject"] != null)
this.SubjectID = Convert.ToInt64(Request.QueryString["subject"]);
else if (base.GetRawQueryStringItem("subject") != null)
this.SubjectID = Convert.ToInt64(base.GetRawQueryStringItem("subject"));
else
Response.Redirect("~/search");
litBackLink.Text = "<a href='" + Root.Domain + "/edit/" + this.SubjectID + "'>Edit Menu</a> > <b>" + PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value + "</b>";
btnEditProperty.Text = "Add " + PropertyLabel;
this.PropertyListXML = data.GetPropertyList(this.BaseData, base.PresentationXML, predicateuri, false, true, false);
securityOptions.Subject = this.SubjectID;
securityOptions.PredicateURI = predicateuri;
securityOptions.PrivacyCode = Convert.ToInt32(this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@ViewSecurityGroup").Value);
securityOptions.SecurityGroups = new XmlDataDocument();
securityOptions.SecurityGroups.LoadXml(base.PresentationXML.DocumentElement.LastChild.OuterXml);
}
示例5: getNodeIdFromInternalUserName
public static long getNodeIdFromInternalUserName(string internalUserName)
{
SessionManagement sm = new SessionManagement();
string connstr = ConfigurationManager.ConnectionStrings["ProfilesDB"].ConnectionString;
SqlConnection dbconnection = new SqlConnection(connstr);
SqlCommand dbcommand = new SqlCommand("select nodeID from [RDF.Stage].[InternalNodeMap] m join [Profile.Data].[Person] p on m.internalID= p.PersonID and Class = 'http://xmlns.com/foaf/0.1/Person' and p.internalusername = '" + internalUserName + "'");
SqlDataReader dbreader;
dbconnection.Open();
dbcommand.CommandType = CommandType.Text;
dbcommand.CommandTimeout = GetCommandTimeout();
dbcommand.Connection = dbconnection;
dbreader = dbcommand.ExecuteReader(CommandBehavior.CloseConnection);
while (dbreader.Read())
{
ORCIDPublication pub = new ORCIDPublication();
if (dbreader["NodeID"] != null)
{
return Convert.ToInt64(dbreader["NodeID"]);
}
}
return 0;
}
示例6: GetPublications
/*
public SqlDataReader GetPublications(RDFTriple request)
{
SessionManagement sm = new SessionManagement();
string connstr = ConfigurationManager.ConnectionStrings["ProfilesDB"].ConnectionString;
SqlConnection dbconnection = new SqlConnection(connstr);
SqlCommand dbcommand = new SqlCommand("[Profile.Module].[CustomViewAuthorInAuthorshipForORCID.GetList]");
SqlDataReader dbreader;
dbconnection.Open();
dbcommand.CommandType = CommandType.StoredProcedure;
dbcommand.CommandTimeout = base.GetCommandTimeout();
dbcommand.Parameters.Add(new SqlParameter("@nodeid", request.Subject));
dbcommand.Parameters.Add(new SqlParameter("@sessionid", sm.Session().SessionID));
dbcommand.Connection = dbconnection;
dbreader = dbcommand.ExecuteReader(CommandBehavior.CloseConnection);
return dbreader;
}
*/
public string GetInternalUserID()
{
SessionManagement sm = new SessionManagement();
string connstr = ConfigurationManager.ConnectionStrings["ProfilesDB"].ConnectionString;
SqlConnection dbconnection = new SqlConnection(connstr);
SqlCommand dbcommand = new SqlCommand("SELECT UserID, InternalUserName FROM [User.Account].[User] WHERE (UserID = @userid)");
SqlDataReader dbreader;
dbconnection.Open();
dbcommand.CommandType = CommandType.Text;
dbcommand.CommandTimeout = GetCommandTimeout();
dbcommand.Parameters.Add(new SqlParameter("@userid", sm.Session().UserID));
dbcommand.Connection = dbconnection;
dbreader = dbcommand.ExecuteReader(CommandBehavior.CloseConnection);
while (dbreader.Read())
{
ORCIDPublication pub = new ORCIDPublication();
if (dbreader["InternalUserName"] != null)
{
return dbreader["InternalUserName"].ToString();
}
}
throw new Exception("Unable to find Internal Username");
}
示例7: GetConceptMeshInfo
public System.Xml.Linq.XDocument GetConceptMeshInfo(RDFTriple request)
{
SessionManagement sm = new SessionManagement();
string connstr = ConfigurationManager.ConnectionStrings["ProfilesDB"].ConnectionString;
using (var db = new SqlConnection(connstr))
{
SqlCommand dbcommand = new SqlCommand("[Profile.Data].[Concept.Mesh.GetDescriptorXML]", db);
dbcommand.CommandType = CommandType.StoredProcedure;
dbcommand.CommandTimeout = base.GetCommandTimeout();
dbcommand.Parameters.Add(new SqlParameter("@NodeId", request.Subject));
db.Open();
XmlReader xreader = dbcommand.ExecuteXmlReader();
System.Xml.Linq.XDocument xDoc = null;
if (xreader.Read())
xDoc = System.Xml.Linq.XDocument.Load(xreader);
xreader.Close();
db.Close();
return xDoc;
}
}
示例8: CustomEditFreetextKeyword
public CustomEditFreetextKeyword(XmlDocument pagedata, List<ModuleParams> moduleparams, XmlNamespaceManager pagenamespaces)
: base(pagedata, moduleparams, pagenamespaces)
{
SessionManagement sm = new SessionManagement();
propdata = new Profiles.Profile.Utilities.DataIO();
data = new Profiles.Edit.Utilities.DataIO();
string predicateuri = Request.QueryString["predicateuri"].Replace("!", "#");
this.PropertyListXML = propdata.GetPropertyList(this.BaseData, base.PresentationXML, predicateuri, false, true, false);
PropertyLabel = this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value;
if (Request.QueryString["subject"] != null)
this.SubjectID = Convert.ToInt64(Request.QueryString["subject"]);
else if (base.GetRawQueryStringItem("subject") != null)
this.SubjectID = Convert.ToInt64(base.GetRawQueryStringItem("subject"));
else
Response.Redirect("~/search");
litBackLink.Text = "<a href='" + Root.Domain + "/edit/" + this.SubjectID + "'>Edit Menu</a> > <b>" + PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value + "</b>";
//btnEditProperty.Text = "Add " + PropertyLabel;
imbAddArror.Visible = true;
this.PropertyListXML = propdata.GetPropertyList(this.BaseData, base.PresentationXML, predicateuri, false, true, false);
this.MaxCardinality = this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@MaxCardinality").Value;
this.MinCardinality = this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@MinCardinality").Value;
securityOptions.Subject = this.SubjectID;
securityOptions.PredicateURI = predicateuri;
securityOptions.PrivacyCode = Convert.ToInt32(this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@ViewSecurityGroup").Value);
securityOptions.SecurityGroups = new XmlDataDocument();
securityOptions.SecurityGroups.LoadXml(base.PresentationXML.DocumentElement.LastChild.OuterXml);
txtLabel.Attributes.Add("data-autocomplete-url", Root.Domain + "/edit/Modules/CustomEditFreetextKeyword/keywordAutocomplete.aspx?keys=");
}
示例9: MainMenu
public MainMenu(XmlDocument pagedata, List<ModuleParams> moduleparams, XmlNamespaceManager pagenamespaces)
: base(pagedata, moduleparams, pagenamespaces)
{
menulist = new System.Text.StringBuilder();
sm = new SessionManagement();
ActiveNetworkRelationshipTypes.ClassURI = "";
}
示例10: CustomEditMainImage
public CustomEditMainImage(XmlDocument pagedata, List<ModuleParams> moduleparams, XmlNamespaceManager pagenamespaces)
: base(pagedata, moduleparams, pagenamespaces)
{
Edit.Utilities.DataIO data = new Profiles.Edit.Utilities.DataIO();
SessionManagement sm = new SessionManagement();
this.XMLData = pagedata;
propdata = new Profiles.Profile.Utilities.DataIO();
if (Request.QueryString["subject"] != null)
this.SubjectID = Convert.ToInt64(Request.QueryString["subject"]);
else if (base.GetRawQueryStringItem("subject") != null)
this.SubjectID = Convert.ToInt64(base.GetRawQueryStringItem("subject"));
else
Response.Redirect("~/search");
this.PredicateURI = Request.QueryString["predicateuri"].Replace("!", "#");
this.PropertyListXML = propdata.GetPropertyList(this.BaseData, base.PresentationXML, PredicateURI, false, true, false);
litBackLink.Text = "<a href='" + Root.Domain + "/edit/" + this.SubjectID.ToString() + "'>Edit Menu</a> > <b>" + PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value + "</b>";
securityOptions.Subject = this.SubjectID;
securityOptions.PredicateURI = PredicateURI;
securityOptions.PrivacyCode = Convert.ToInt32(this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@ViewSecurityGroup").Value);
securityOptions.SecurityGroups = new XmlDataDocument();
securityOptions.SecurityGroups.LoadXml(base.PresentationXML.DocumentElement.LastChild.OuterXml);
securityOptions.BubbleClick += SecurityDisplayed;
}
示例11: UserLogin
/// <summary>
/// For User Authentication
/// </summary>
/// <param name="user"></param>
/// <param name="session"></param>
public bool UserLogin(ref User user)
{
bool loginsuccess = false;
try
{
SessionManagement sm = new SessionManagement();
string connstr = ConfigurationManager.ConnectionStrings["ProfilesDB"].ConnectionString;
SqlConnection dbconnection = new SqlConnection(connstr);
SqlParameter[] param = new SqlParameter[4];
dbconnection.Open();
param[0] = new SqlParameter("@UserName", user.UserName);
param[1] = new SqlParameter("@Password", user.Password);
param[2] = new SqlParameter("@UserID", null);
param[2].DbType = DbType.Int32;
param[2].Direction = ParameterDirection.Output;
param[3] = new SqlParameter("@PersonID", null);
param[3].DbType = DbType.Int32;
param[3].Direction = ParameterDirection.Output;
//For Output Parameters you need to pass a connection object to the framework so you can close it before reading the output params value.
ExecuteSQLDataCommand(GetDBCommand(ref dbconnection, "[User.Account].[Authenticate]", CommandType.StoredProcedure, CommandBehavior.CloseConnection, param));
dbconnection.Close();
try
{
user.UserID = Convert.ToInt32(param[2].Value.ToString());
if (param[3].Value != DBNull.Value)
user.PersonID = Convert.ToInt32(param[3].Value.ToString());
}
catch { }
if (user.UserID != 0)
{
loginsuccess = true;
sm.Session().UserID = user.UserID;
sm.Session().PersonID = user.PersonID;
sm.Session().LoginDate = DateTime.Now;
Session session = sm.Session();
SessionUpdate(ref session);
ActivityLog(user.PersonID, null, null);
}
}
catch (Exception ex)
{
throw ex;
}
return loginsuccess;
}
示例12: Session_Start
//***************************************************************************************************************************************
/// <summary>
///
/// Starts a Profiles instance of Profiles Session Management and Session State Information used for
/// security/data filters, tracking, auditing.
///
/// </summary>
/// <param name="sender"> .Net context object</param>
/// <param name="e"> .Net Event Arguments</param>
protected void Session_Start(object sender, EventArgs e)
{
SessionManagement session = new SessionManagement();
session.SessionCreate();
if (session.Session() != null)
Framework.Utilities.DebugLogging.Log("SESSION CREATED for: " + session.Session().SessionID);
session = null;
}
示例13: DrawProfilesModule
private void DrawProfilesModule()
{
XsltArgumentList args = new XsltArgumentList();
XslCompiledTransform xslt = new XslCompiledTransform();
SessionManagement sm = new SessionManagement();
Utilities.DataIO data = new Profiles.Profile.Utilities.DataIO();
string email = string.Empty;
string imageemailurl = string.Empty;
if (this.BaseData.SelectSingleNode("rdf:RDF[1]/rdf:Description[1]/prns:emailEncrypted", this.Namespaces) != null &&
this.BaseData.SelectSingleNode("rdf:RDF[1]/rdf:Description[1]/vivo:email", this.Namespaces) == null)
{
email = this.BaseData.SelectSingleNode("rdf:RDF[1]/rdf:Description[1]/prns:emailEncrypted", this.Namespaces).InnerText;
imageemailurl = string.Format(Root.Domain + "/profile/modules/CustomViewPersonGeneralInfo/" + "EmailHandler.ashx?msg={0}", HttpUtility.UrlEncode(email));
}
args.AddParam("root", "", Root.Domain);
if (email != string.Empty)
{
args.AddParam("email", "", imageemailurl);
}
args.AddParam("imgguid", "", Guid.NewGuid().ToString());
// Check for an ORCID
string internalUsername = new Profiles.ORCID.Utilities.ProfilesRNSDLL.BLL.Profile.Data.Person().GetInternalUsername(Convert.ToInt64(Request.QueryString["Subject"]));
Profiles.ORCID.Utilities.ProfilesRNSDLL.BO.ORCID.Person orcidPerson = new Profiles.ORCID.Utilities.ProfilesRNSDLL.BLL.ORCID.Person().GetByInternalUsername(internalUsername);
if (orcidPerson.Exists && !orcidPerson.ORCIDIsNull)
{
args.AddParam("orcid", "", orcidPerson.ORCID);
args.AddParam("orcidurl", "", Profiles.ORCID.Utilities.config.ORCID_URL + "/" + orcidPerson.ORCID);
args.AddParam("orcidinfosite", "", Profiles.ORCID.Utilities.config.InfoSite);
args.AddParam("orcidimage", "", Root.Domain + "/Framework/Images/orcid_16x16(1).gif");
args.AddParam("orcidimageguid", "", Guid.NewGuid().ToString());
}
else if (Profiles.ORCID.Utilities.config.ShowNoORCIDMessage && Profiles.ORCID.Utilities.config.Enabled)
{
//args.AddParam("orcid", "", "No ORCID id has been created for this user");
args.AddParam("orcid", "", "Login to create your ORCID iD");
args.AddParam("orcidinfosite", "", Profiles.ORCID.Utilities.config.InfoSite);
string qs = HttpUtility.UrlEncode("predicateuri=http%3a%2f%2fvivoweb.org%2fontology%2fcore!orcidId&module=DisplayItemToEdit&ObjectType=Literal");
args.AddParam("orcidurl", "", Root.Domain + "/login/default.aspx?method=login&edit=true&editparams=" + qs);
args.AddParam("orcidimage", "", Root.Domain + "/Framework/Images/orcid_16x16(1).gif");
args.AddParam("orcidimageguid", "", Guid.NewGuid().ToString());
}
litPersonalInfo.Text = XslHelper.TransformInMemory(Server.MapPath("~/Profile/Modules/CustomViewPersonGeneralInfo/CustomViewPersonGeneralInfo.xslt"), args, base.BaseData.OuterXml);
if (base.BaseData.SelectSingleNode("rdf:RDF/rdf:Description[1]/prns:mainImage/@rdf:resource", base.Namespaces) != null)
{
string imageurl = base.BaseData.SelectSingleNode("//rdf:RDF/rdf:Description[1]/prns:mainImage/@rdf:resource", base.Namespaces).Value;
imgPhoto.ImageUrl = imageurl + "&cachekey=" + Guid.NewGuid().ToString();
}
else
{
imgPhoto.Visible = false;
}
}
示例14: EditObjectTypeProperty
public EditObjectTypeProperty(XmlDocument pagedata, List<ModuleParams> moduleparams, XmlNamespaceManager pagenamespaces)
: base(pagedata, moduleparams, pagenamespaces)
{
Edit.Utilities.DataIO data;
SessionManagement sm = new SessionManagement();
Profiles.Profile.Utilities.DataIO propdata = new Profiles.Profile.Utilities.DataIO();
data = new Profiles.Edit.Utilities.DataIO();
if (Request.QueryString["subject"] != null)
this.SubjectID = Convert.ToInt64(Request.QueryString["subject"]);
else if (base.GetRawQueryStringItem("subject") != null)
this.SubjectID = Convert.ToInt64(base.GetRawQueryStringItem("subject"));
else
Response.Redirect("~/search");
this.PredicateURI = Request.QueryString["predicateuri"].Replace("!", "#");
GetSubjectProfile();
this.PropertyListXML = propdata.GetPropertyList(this.BaseData, base.PresentationXML, PredicateURI, false, true, false);
this.PropertyLabel = PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value;
litBackLink.Text = "<a href='" + Root.Domain + "/edit/" + this.SubjectID.ToString() + "'>Edit Menu</a> > <b>" + this.PropertyLabel + "</b>";
//Quick add for adding a note on the format of grant info when adding manually
if (PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/@Label").Value == "Research")
{
litGrantNote1.Text = "Please use the following format when adding the grant information: ";
litGrantNote2.Text = "Funding Agency: Agency Name - Title: Grant Title - Award Number: Grant ID Number - Total direct costs: $amount - Start Date: yyyy-mm-dd - End Date: yyyy-mm-dd <br /> Or for subaward:<br /> Subaward: Name of Pass-Through Institution - Funding Agency: Agency Name - Title: Grant Title - Award Number: Grant ID Number - Total direct costs: $amount - Start Date: yyyy-mm-dd - End Date: yyyy-mm-dd";
}
//Quick fix to allow only Admin and Curators to edit Visibility privacy
securityOptions.userRole = propdata.GetUserRole(sm.Session().SessionID);
if (securityOptions.userRole == -40 || securityOptions.userRole == -50)
{
securityOptions.FindControl("imbSecurityOptions").Visible = true;
securityOptions.FindControl("lbSecurityOptions").Visible = true;
}
else
{
securityOptions.FindControl("imbSecurityOptions").Visible = false;
securityOptions.FindControl("lbSecurityOptions").Visible = false;
}
securityOptions.Subject = this.SubjectID;
securityOptions.PredicateURI = PredicateURI;
this.PredicateID = data.GetStoreNode(this.PredicateURI);
securityOptions.PrivacyCode = Convert.ToInt32(this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@ViewSecurityGroup").Value);
securityOptions.SecurityGroups = new XmlDataDocument();
securityOptions.SecurityGroups.LoadXml(base.PresentationXML.DocumentElement.LastChild.OuterXml);
this._subject = Convert.ToInt64(Request.QueryString["subject"]);
this._personId = data.GetPersonID(_subject);
}
示例15: EditDataTypeProperty
public EditDataTypeProperty(XmlDocument pagedata, List<ModuleParams> moduleparams, XmlNamespaceManager pagenamespaces)
: base(pagedata, moduleparams, pagenamespaces)
{
SessionManagement sm = new SessionManagement();
propdata = new Profiles.Profile.Utilities.DataIO();
data = new Profiles.Edit.Utilities.DataIO();
string predicateuri = Request.QueryString["predicateuri"].Replace("!", "#");
this.PropertyListXML = propdata.GetPropertyList(this.BaseData, base.PresentationXML, predicateuri, false, true, false);
PropertyLabel = this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value;
if (Request.QueryString["subject"] != null)
this.SubjectID = Convert.ToInt64(Request.QueryString["subject"]);
else if (base.GetRawQueryStringItem("subject") != null)
this.SubjectID = Convert.ToInt64(base.GetRawQueryStringItem("subject"));
else
Response.Redirect("~/search");
litBackLink.Text = "<a href='" + Root.Domain + "/edit/" + this.SubjectID + "'>Edit Menu</a> > <b>" + PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@Label").Value + "</b>";
btnEditProperty.Text = "Add " + PropertyLabel;
this.PropertyListXML = propdata.GetPropertyList(this.BaseData, base.PresentationXML, predicateuri, false, true, false);
// Put hack to not insert null MaxCardinality Value
if (this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@MaxCardinality") == null)
{
this.MaxCardinality = "1";
}
else
{
this.MaxCardinality = this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@MaxCardinality").Value;
}
this.MinCardinality = this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@MinCardinality").Value;
//Quick fix to allow only Admin and Curators to edit Visibility privacy
securityOptions.userRole = propdata.GetUserRole(sm.Session().SessionID);
if (securityOptions.userRole == -40 || securityOptions.userRole == -50)
{
securityOptions.FindControl("imbSecurityOptions").Visible = true;
securityOptions.FindControl("lbSecurityOptions").Visible = true;
}
else
{
securityOptions.FindControl("imbSecurityOptions").Visible = false;
securityOptions.FindControl("lbSecurityOptions").Visible = false;
}
securityOptions.Subject = this.SubjectID;
securityOptions.PredicateURI = predicateuri;
securityOptions.PrivacyCode = Convert.ToInt32(this.PropertyListXML.SelectSingleNode("PropertyList/PropertyGroup/Property/@ViewSecurityGroup").Value);
securityOptions.SecurityGroups = new XmlDataDocument();
securityOptions.SecurityGroups.LoadXml(base.PresentationXML.DocumentElement.LastChild.OuterXml);
}