Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public bool Update(DBObject.Attribute attribute)
        {
            bool success = true;

            try
            {
                _iAttributeTable.Update(attribute);
            }
            catch
            {
                success = false;
            }

            return(success);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }