예제 #1
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();
        }
예제 #2
0
        protected void btSetAttributesOK_Click(object sender, EventArgs eventArgs)
        {
            var model = objectAttributeControl.Model;

            using (var transaction = HbSession.BeginTransaction())
            {
                var oldAttribute = GetRelatedAttributes(model.ParentID, model.FieldID);
                if (oldAttribute != null)
                {
                    oldAttribute.DateDeleted = DateTime.Now;
                    HbSession.Update(oldAttribute);
                }

                var converter    = new AttributeValueModelEntityConverter(HbSession);
                var newAttribute = converter.Convert(model);

                HbSession.Save(newAttribute);

                transaction.Commit();
            }

            mpeSetAttributes.Hide();
        }