//==========================================================================================================================================================CREATE==================================================================
        /// <summary>
        /// Creates new records in db for avilable values in selection.
        /// </summary>
        /// <param name="availableValues">Enumeration of available values.</param>
        /// <param name="property">Entity of selectable property.</param>
        internal static bool AddAvailableValues(IEnumerable<string> availableValues, Property property)
        {
            ProjectPropertiesEntities db = new ProjectPropertiesEntities();
            if (db.Connection.State != System.Data.ConnectionState.Open)
            {
                db.Connection.Open();
            }
            try
            {
                foreach (String availableValue in availableValues)
                {
                    db.AddToAvailableValues(new AvailableValue { Value = availableValue, Property = property.SystemName });
                }
                db.SaveChanges();
                return true;
            }
            catch (Exception e)
            {
                return false;
            }
            finally
            {

            }
        }
        /// <summary>
        /// Sets available values for specified property instead of existing.
        /// </summary>
        /// <param name="availablevalues"></param>
        /// <param name="property"></param>
        /// <exception cref="ConnectionException" />
        internal static void SetAvailableValues(IEnumerable<String> availablevalues, Property property)
        {
            ProjectPropertiesEntities db = new ProjectPropertiesEntities();
            if (db.Connection.State != System.Data.ConnectionState.Open)
            {
                db.Connection.Open();
            }
            try
            {
                foreach (AvailableValue value in property.AvailableValues)
                {
                    DeleteWithoutSubmitting(value, db);
                }
                foreach (String value in availablevalues)
                {
                    AvailableValue availableValue = AvailableValue.CreateAvailableValue(property.SystemName);
                    db.AddToAvailableValues(availableValue);
                }
                db.SaveChanges();
            }
            catch (Exception e)
            {
                throw new ConnectionException(e);
            }
            finally
            {

            }
        }