public bool Create(string entityName, string controlFieldName, string dependentFieldName, DependencyValuePair[] mappingValue) {
            if (mappingValue == null) {
                return false;
            }

            var partDefinition = _partDefinitionRepository.Table.SingleOrDefault(x => x.Name == entityName);
            if (partDefinition == null) {
                return false;
            }
            var controlField = partDefinition.ContentPartFieldDefinitionRecords.SingleOrDefault(x => x.Name == controlFieldName);
            var dependentField = partDefinition.ContentPartFieldDefinitionRecords.SingleOrDefault(x => x.Name == dependentFieldName);
            if (controlField == null || dependentField == null) {
                return false;
            }
            
            var dependencyRecord = _fieldDependencyRepository.Table.SingleOrDefault(
                x => x.Entity == partDefinition && x.ControlField == controlField && x.DependentField == dependentField);
            if (dependencyRecord != null && dependencyRecord.Id != 0) {
                return false;
            }

            dependencyRecord = new FieldDependencyRecord {
                Entity = partDefinition,
                ControlField = controlField,
                DependentField = dependentField,
                Value = mappingValue.DependencyPairsToString(controlField.Name)
            };
            _fieldDependencyRepository.Create(dependencyRecord);
            return UpdateDependenySetting(entityName,controlFieldName,dependentFieldName);
        }
 // POST api/fields/FieldDependency
 public virtual HttpResponseMessage Post(string entityName, string controlFieldName, string dependentFieldName, DependencyValuePair[] value) {
     return _fieldDependencyService.Create(entityName, controlFieldName, dependentFieldName, value) ?
         Request.CreateResponse(HttpStatusCode.Created)
         : Request.CreateResponse(HttpStatusCode.NotFound);
 }