コード例 #1
0
        public async Task <bool> UpdateField(long currentUserId, long id, string fieldName, object value)
        {
            if (!UpdateableFields.Any() ||
                UpdateableFields.All(x => x != fieldName))
            {
                throw new SecurityException("updateable fields not defined for entity");
            }

            var prmName    = _sqlConstants.ParameterSign + _entityUtils.GetFieldNameFromPropertyName(fieldName);
            var parameters = GetParametersForId(id);

            parameters.Add(SQLExecutor.CreateParameter(prmName, value));

            var updateSql = $@"{SQLConstants.UPDATE} {_sqlConstants.TableFullName} 
                               {SQLConstants.SET} {fieldName} = {prmName}
                               {SQLConstants.WHERE}  {_sqlConstants.IdFieldName} = {_sqlConstants.ParameterSign}{_sqlConstants.IdParameterName}";

            await SQLExecutor.ExecuteSql(updateSql, parameters);

            return(true);
        }