Vlad171: Вам надо разобраться с тем, как работает сайт drupal.org. Там есть почти вся информация. Для вашей задачи вот конкретная ссылка https://www.drupal.org/node/115419. Посмотрите на меню справа. Там еще много чего полезного.
Привет. Посмотрите реализацию метода через virtual (внизу в ответах). Вы же сами говорите, что переносите на шарп. Не знаком с java, но в шарпе, если вы хотите сделать метод перегружаемым (что, собственно, у вас и предполагается в корневом абстрактном классе), то нужно указать модификатор virtual у соответствующего метода.
atis //: Аха. Можно было бы вычислять количество продуктов, если бы они группировались по каким-то параметрам и имели разное количество, но у вас получается просто одно количество для всех. Поэтому тут только больше вреда, чем пользы.
Black Jack: \b -- за вас все сделает. Он для этого и создан, что отдельно слова выделять. А вы там, сами пробелы поставили. К тому же. Чтобы отделить слово нужно тогда к тексту добавить пробелы в начале и в конце текста, чтобы ваша регулярка сработала. Этого можно избежать, если добавить multiline, но все равно для таких вещей есть уже готовая управляющая функция.
Minningt: Да. Все врено. Заговорился просто. вы от своего года рождения, который с каждой итерацией увеличивается на 10 лет, отнимаете текущую дату и тем самым ловите ближайший юбилей. Как только разница в днях будет положительная (вот тут и нужно сравнение с нулем) значит вы нашли ближайший юбилей.
Minningt: Привет. Вот у вас есть дата рождения 13.08.1985. Вы к году рождения (1985) с каждой итерацией прибавляете 10 (лет). Получается 1995. 2005. 2015. 2025. Пока разница в днях меньше нуля, мы еще не попали в следующий любилей, а находимся где-то в прошлом.
Flaker: Понятно. Если я правильно понял, то можно перенести конкретные поля характеристик с конкретными типами прям в вашу перекрестную таблицу property_characteristics. В зависимости от характеристики заполнять поля. Выглядит денормализовано, но зато будете работать с конкретными типами, вместо всякого неудобного, а иногда и дорого кастинга.
Flaker: значения, которые могут быть у вач числом, строкой или логическим значением. Потом вы пишите про cast или convert. Я так понял -- это связано именно с тем, что у вас type разно типа может быть. Вот я вам и предложил конкретными типами хранить ваши характеристики. А что там к вам приходит, я не знаю).
Игорь Касперский: Можно. В этом и суть). Вы же не хотите разбивать большую таблицу на множество вложенных. Я вам советую делать все по частям. Сделайте сначала маленькую таблицу без стилей, но с разбиением на tbody. Попробуйте придать бордеры только через tbody. Должно получиться. Поле этого добавляйте по частям другие элементы вашей таблицы. Так вы сможете на каждом шагу контролировать свою верстку таблицы и смотреть, что уже получилось, а что нет, нежели копаться в огромном коде таблицы (который сейчас) с разными стилями и думать, почему и что не работает. Локализуйте свой шаг, тогда и отвлечений меньше будет.
Игорь Касперский: Попробуйте маленькую таблицу сделать и там задать tbody и ему прописать стиль. Если получится значит вам надо будет постепенно из этой маленькой таблицы сделать вашу основную таблицу. То есть по частям перенести все строки. Я думаю, у вас должно получиться обойтись только tbody, но и этому тегу придется задать id, так как у вас таких тэгов тоже должно быть несколько и их надо отличать. Начните создавать таблицу без каких либо стилей вообще. И задайте стиль только tbody. Тогда вы сможете понять, где у вас ошибка и какие-то стили не работают или перетираются.