Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
        }