@@AEF23C20 ты дурачок чтоли? Если .FirstOrDefault() применить к перечислению от ValueType'ов - он вернет значение по-умолчанию (для int - это 0, например), а если к перечислению от ReferenceType'ов - вернет null, т.к. для ReferenceType дефолтное значение - это null.
уась всё то что ты щяс изрыгнул - вот ты реально всё это "применяешь" ага? что бы что? у тебя откуда берутся некие перечисления от ссылочных типов? расскажи не стесняйся пс: и ты конечно не понял, расскажи что ты такое перечисляешь, если оно null тебе выкидывает? вот как можно в каком угаре накарячить такое, что бы по этому накаряченному пробегаться, и что бы оно null возвращало?
репортТексис() какой то, понятное дело что тут ищутся [как то определяются] какие то налоги - на лицо [в лицо] это не логика, это ужас какой то сначала идёт поиск "где то там" этого лица/имплоя/работника, только этого быть не должно, этот код про налоги, а не про поиск работника в бд или где там хз т.е. код поиска __не__ __должен__ быть в коде про налоги, у вас вот так: ищемНалоги(имплой) { аЕстьЛиИмплой?(имплой); // вот это и есть бред } должно быть вот так: bool ага = аЕстьЛиИмплой?(); если (ага == true) ищемНалоги(имплой); ищемНалоги(имплой) { // а теперь не проверяем существование имплоя, проверка в вызывающем метод коде // код который проверяет существование имплоя - это не просто код, // он например может блокировать имплоя на изменение и так далее } какой то имплойРепозиторий зачем то, все имплойеры - это одно, а всё что про налоги - это вообще про другое, и совмещать всё это вместе - это ужас полнейший, это разные бд, у них разные смыслы все имплоеры должны быть чилавеками строго в одной бд чилавеков - это одна бд, а другая бд - это бд про деньги, но там не должно быть людей, люди должны быть обезличены, третья бд - это про функции человеков, чего они делают, и это тоже обезличеная бд и так далее, это разные бд с разным доступом к бд разный доступ - это не только про права, это и про время доступа тоже, потому что все данные принципиально отличаются, есть данные которые не меняются, есть те которые редко меняются, и есть те которые часто меняются, и это всё про дата-ориентированное-программирование естественно, но тут сразу наступает разный подход к напейсанию бд как таковых, потому что если разные данные - то это принципиально разные системы-бд, обслуживающие эти разные данные тут пейсать можно бесконечно, и какой то общий логгер на это всё, что бы что? это первичная чёрная дыра любой логгер который для всего и вся и так далее код на видосике - это ужас а не логика, как это развидеть? мне три дня кошмары сниться будут опять
вы вообще не понимаете что такое - замусоренный код щяс легко объясню серию тому назад был написан мой типичный синглтон в каментах, там ищите, так вот это только начало бггг смысл в том, что вы пишете какие то функции, что то мусолите, всё это делаете [может быть] действительно по шаблончикам, и это ваша __главная__ __критическая__ __ошибка__ , потому что я вижу декомпилированный шаблон синглтона - вы понимаете вообще что это значит? конечно не понимаете, читайте дальше теперь реальный вменяемый синглтон: пишете функции какие надо, допустим их десять штук, и они запускаются один раз и последовательно, а теперь фокус - никогда так не делайте, напейшите опасные типы, т.е. библиотеку опасных типов, а вызывайте всё это следующим образом: вам нужно несколько потоков, это понятное дело несколько методов, и там вызываются эти опасные функции из библиотеки типов, а потоки синхронизируйте флажками обычными, и никаких тред-пулов - это всё не нужно, нужно строго почти нативно дёргать из разных меcт [методов для потоков] эти самые функции синглтона, и вы опять не понимаете, потому что если вы не знаете сценарий запуска функций - вы ничего никогда не запустите, вы понимаете что если 10 функций - то вариантов перестановки 10(!факториал) - это почти астрономическое число вариантов запуска синглтона, и никто не поймёт в каком порядке запускать функции, они есть, доступ к ним есть, библиотека открыта - но нигде не написано в каком порядке запускать эти 10 функций, а они запускаются в разных потоках, а что бы понять как что и когда запускается - вам декомпиляция не поможет, это надо будет __доооолго__ копать и разбираться в том как работают эти декомпилированные потоки и когда они выставляют флажки и когда какие функции запускаются вы понимаете вообще что раскопать это адово гвнщее весьма сложно? вот это и есть замечательный код, это такой код, который вы сами не понимаете, и без документации к нему - вообще никогда не разобраться - вот это хороший код а самый хороший код - это код __которого__ __нет__ , опять рассмотрим синглтон - вы же по фен-шуйчику карячите синглтон, и его видно в декомпилированном виде, сразу же видно, так уберите любые признаки синглтона, уберите, а в комментариях напейшите что это синглтон и есть, только вот комментариев в декомпилированном коде - нету, и это и есть код __которого__ __нет__ - это лучший код