public async Task <IActionResult> CreateProjectDataModelProperty(int projectId, int modelId, CreateProjectDataModelPropertyDto newProperty)
        {
            _logger.LogRequest("Creating property for data model {modelId} in project {projectId}. Request body: {@newProperty}", modelId, projectId, newProperty);

            try
            {
                var propertyId = await _projectDataModelService.AddDataModelProperty(modelId,
                                                                                     newProperty.Name,
                                                                                     newProperty.Label,
                                                                                     newProperty.DataType,
                                                                                     newProperty.ControlType,
                                                                                     newProperty.IsRequired,
                                                                                     newProperty.RelatedProjectDataModelId,
                                                                                     newProperty.RelationalType,
                                                                                     newProperty.IsManaged,
                                                                                     newProperty.Sequence);

                var property = await _projectDataModelService.GetProjectDataModelPropertyByName(modelId, newProperty.Name);

                var result = _mapper.Map <ProjectDataModelPropertyDto>(property);

                _logger.LogResponse("Property in data model {modelId} in project {projectId} created. Response body: {@result}", modelId, projectId, result);

                return(CreatedAtRoute("GetProjectDataModelPropertyById", new
                {
                    projectId,
                    modelId,
                    propertyId
                }, result));
            }
            catch (DuplicateProjectDataModelPropertyException dupEx)
            {
                _logger.LogWarning(dupEx, "Duplicate property name");
                return(BadRequest(dupEx.Message));
            }
            catch (ProjectDataModelNotFoundException modEx)
            {
                _logger.LogWarning(modEx, "Project data model not found");
                return(BadRequest(modEx.Message));
            }
        }