protected void SetUserGlobalAttribute(Guid userID, String attributeName, String value) { var globalAttr = (from n in HbSession.Query <UM_User>() join m in HbSession.Query <UM_AttributeValue>() on n.ID equals m.ParentID where n.ID == userID where m.DateDeleted == null let node = m.AttributeField let schema = node.AttributeSchema where node != null && node.Name == attributeName && schema.ProjectID == null select m).FirstOrDefault(); if (globalAttr == null) { globalAttr = new UM_AttributeValue { ID = Guid.NewGuid(), DateCreated = DateTime.Now, ParentID = userID, }; var globalAttrNode = (from n in HbSession.Query <UM_AttributeField>() where n.Name == attributeName && n.DateDeleted == null let schema = n.AttributeSchema where schema.ProjectID == null select n).SingleOrDefault(); if (globalAttrNode == null) { var globalSchema = (from n in HbSession.Query <UM_AttributeSchema>() where n.DateDeleted == null && n.ProjectID == null select n).Single(); globalAttrNode = new UM_AttributeField { ID = Guid.NewGuid(), Name = attributeName, DateCreated = DateTime.Now, AttributeSchema = globalSchema, }; } globalAttr.AttributeField = globalAttrNode; } globalAttr.Value = value; HbSession.SubmitInsert(globalAttr); }
protected void btAttributeSchemaNodeOK_Click(object sender, EventArgs e) { var model = attributeFieldControl.Model; var entity = HbSession.Get<UM_AttributeField>(model.ID.GetValueOrDefault()); if (entity == null) { entity = new UM_AttributeField { ID = Guid.NewGuid(), DateCreated = DateTime.Now, }; } var converter = new AttributeFieldModelEntityConverter(HbSession); converter.FillObject(entity, model); HbSession.SubmitChanges(entity); FillAttributesTree(); }