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); }