示例#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);
        }
示例#2
0
        public static AttributeValueContract ToContract(this UM_AttributeValue entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var contract = new AttributeValueContract();

            contract.DateChanged      = entity.DateChanged;
            contract.DateCreated      = entity.DateCreated;
            contract.DateDeleted      = entity.DateDeleted;
            contract.ID               = entity.ID;
            contract.AttributeFieldID = entity.AttributeFieldID;

            return(contract);
        }
示例#3
0
        public static UM_AttributeValue ToEntity(this AttributeValueContract contract)
        {
            if (contract == null)
            {
                return(null);
            }

            var entity = new UM_AttributeValue();

            entity.DateChanged      = contract.DateChanged;
            entity.DateCreated      = contract.DateCreated;
            entity.DateDeleted      = contract.DateDeleted;
            entity.ID               = contract.ID;
            entity.ParentID         = contract.ParentID;
            entity.AttributeFieldID = contract.AttributeFieldID;
            entity.Value            = contract.Value;

            return(entity);
        }
示例#4
0
        protected void btAttributeOK_Click(object sender, EventArgs e)
        {
            var model = objectAttributeControl.Model;

            var groupID = model.ParentID;
            var nodeID  = model.FieldID;

            var group = HbSession.Query <UM_Group>().FirstOrDefault(n => n.ID == groupID);

            if (group == null)
            {
                return;
            }

            var node = HbSession.Query <UM_AttributeField>().FirstOrDefault(n => n.ID == nodeID);

            if (node == null)
            {
                return;
            }

            var attributeValue = (from v in HbSession.Query <UM_AttributeValue>()
                                  where v.ParentID == @group.ID &&
                                  v.AttributeFieldID == node.ID
                                  select v).FirstOrDefault();

            if (attributeValue == null)
            {
                attributeValue = new UM_AttributeValue
                {
                    ID          = Guid.NewGuid(),
                    DateCreated = DateTime.Now
                };
            }

            var converter = new AttributeValueModelEntityConverter(HbSession);

            converter.FillObject(attributeValue, model);

            HbSession.SubmitChanges(attributeValue);

            mpeGroupAttributes.Show();
        }