public bool Insert(DBObject.Attribute attribute, List <DBObject.AttributeChoice> attributeChoices) { bool success = true; try { _iDatabase.BeginTransaction(); _iAttributeTable.Insert(attribute); foreach (var attributeChoice in attributeChoices) { attributeChoice.key_id = attribute.key_id; attributeChoice.attribute_id = attribute.id; _iAttributeChoiceTable.Insert(attributeChoice); } _iDatabase.CommitTransaction(); } catch { success = false; _iDatabase.RollbackTransaction(); } return(success); }
public bool Update(DBObject.Attribute attribute) { bool success = true; try { _iAttributeTable.Update(attribute); } catch { success = false; } return(success); }
public bool Update(DBObject.Attribute attribute, List <DBObject.AttributeChoice> attributeChoices) { bool success = true; try { _iDatabase.BeginTransaction(); _iAttributeTable.Update(attribute); Dictionary <Int64, Library.DBObject.AttributeChoice> attributeChoiceMap = _iAttributeChoiceTable.GetEnumeratorForAttribute(attribute.id).ToDictionary(n => n.id, n => n); if (attributeChoices != null) { foreach (var attributeChoice in attributeChoices) { attributeChoice.key_id = attribute.key_id; attributeChoice.attribute_id = attribute.id; if (attributeChoice.id == 0) { _iAttributeChoiceTable.Insert(attributeChoice); } else { attributeChoiceMap.Remove(attributeChoice.id); _iAttributeChoiceTable.Update(attributeChoice); } } } foreach (var attributeChoice in attributeChoiceMap.Values) { _iSpeciesAttributeChoiceTable.DeleteByAttributeChoice(attributeChoice.id); _iAttributeChoiceTable.Delete(attributeChoice); } _iDatabase.CommitTransaction(); } catch { success = false; _iDatabase.RollbackTransaction(); } return(success); }
public bool Delete(DBObject.Attribute attribute) { bool success = true; try { var attributeChoices = _iAttributeChoiceTable.GetEnumeratorForAttribute(attribute.id).ToList(); foreach (var attributeChoice in attributeChoices) { _iSpeciesAttributeChoiceTable.DeleteByAttributeChoice(attributeChoice.id); _iAttributeChoiceTable.Delete(attributeChoice); } _iSpeciesAttributeSizeTable.DeleteByAttribute(attribute.id); _iAttributeTable.Delete(attribute); } catch { success = false; } return(success); }