protected void attributesSchemasControl_OnNew(object sender, GenericEventArgs<Guid> e) { var units = UmSchemasUtil.CreateListOfTree(HbSession); var item = units.FirstOrDefault(n => n.Key == e.Value); if (item == null) return; if (item.Type == "Project") { var entity = HbSession.Get<UM_Project>(item.ID); var model = new AttributeSchemaModel { ProjectID = entity.ID }; attributeSchemaControl.Model = model; mpeAttributeSchema.Show(); } else if (item.Type == "Schema") { var entity = HbSession.Get<UM_AttributeSchema>(item.ID.GetValueOrDefault()); var model = new AttributeFieldModel { SchemaID = entity.ID }; attributeFieldControl.Model = model; mpeAttributeSchemaNode.Show(); } }
protected override void OnSetModel(object model) { var attributeSchemasModel = model as AttributeSchemasModel; if (attributeSchemasModel == null) { return; } var units = UmSchemasUtil.CreateListOfTree(HbSession, attributeSchemasModel); tlAttributes.DataSource = units; tlAttributes.DataBind(); }
protected void attributesSchemasControl_OnDelete(object sender, GenericEventArgs<Guid> e) { var units = UmSchemasUtil.CreateListOfTree(HbSession); var item = units.FirstOrDefault(n => n.Key == e.Value); if (item == null) return; if (item.Type == "Schema") { var attributeSchema = HbSession.Query<UM_AttributeSchema>().FirstOrDefault(n => n.ID == item.ID); if (attributeSchema != null) { using (var transaction = HbSession.BeginTransaction()) { attributeSchema.DateDeleted = DateTime.Now; HbSession.Update(attributeSchema); foreach (var attributeSchemaNode in attributeSchema.AttributeFields) { attributeSchemaNode.DateDeleted = (attributeSchemaNode.DateDeleted ?? attributeSchema.DateDeleted); HbSession.Update(attributeSchemaNode); } transaction.Commit(); } } } else if (item.Type == "Field") { var attributeSchemaNode = HbSession.Query<UM_AttributeField>().FirstOrDefault(n => n.ID == item.ID); if (attributeSchemaNode != null) { attributeSchemaNode.DateDeleted = DateTime.Now; HbSession.SubmitChanges(attributeSchemaNode); } } FillAttributesTree(); }