• Как написать собственный расширяющий метод linq для сущности?

    @dmitryKovalskiy
    программист средней руки
    1) Методы расширения должны быть расположены в сторонних static-классах. Создаем класс static SomeEntityMethodExtensions и внутри пишем что угодно.
    2) Используйте IQueryable. C IEnumerable получите туже проблему что у вас и была - выгрузите все на сервер и будете крутить данные в пустую.

    public static IQueryable<TEntity> ApplyFiltEntity(this IQueryable<TEntity> entity,
            Func<TEntity, string> field, string filter)
        {
            return entity.Where(x => field(x).Contains(filter));
        }
    </code >
    Однако скорее всего у вас будут проблемы с трансляцией переданной функции. Преобразовать ее в SQL 99% не выйдет
    Ответ написан
    2 комментария
  • Когда-то мне сказал: язык программирования второстепенен. Что он имел в виду?

    @dmitryKovalskiy
    программист средней руки
    Это прям сложный вопрос, да? Ну представьте себе "Войну и Мир" Толстого. От того что произведение переведут на эфиопское наречие - сюжет другим не станет.
    Если вы можете написать алгоритм/логику обработки запроса - как этот алгоритм описать на языке программирования вопрос синтаксиса.
    Ответ написан
    3 комментария
  • Как сделать редирект c группы страниц?

    @dmitryKovalskiy
    программист средней руки
    В приложение я бы не лез. Если приложение хостится под IIS, то в настройках приложения есть раздел "Перенаправление протокола HTTP".
    5c6aa5188fb6a819593279.png
    Ответ написан
    Комментировать
  • Какая должна быть модель для данного представления?

    @dmitryKovalskiy
    программист средней руки
    Сделайте HiddenFor для массива данных, а в JS свормируйте этот массив да запишите в hidden-поле.
    Или у вас каждое поле имеет свое назначение, а не просто массив значений?
    Ответ написан
    Комментировать
  • Как правильно использовать async/await в "Репозиторий-Сервис-Контроллер" архитектуре?

    @dmitryKovalskiy
    программист средней руки
    Метод GetLatestAsync у вас обещает вернуть Task, а возвращает объект. объявите его асинхронным(async).
    То что вы не вызываете внутри асинхронных методом - асинхронные какие-либо другие методы конечно плохо, но не смертельно.
    Какие есть пути решения?
    1) Ваш репозиторий должен работать асинхронно(если используете EF - у него есть все необходимые методы. Если используете ADO.NET - зависит от версии .NET. Можно подключить Dapper и репозиторий тоже станет асинхронным)
    2) убрать async/await из объявления метода GetLatestAsync. Пусть просто вернет модель, а не Task<Модель>. Опять же - ваш интерфейс обещает одно, а делает другое. Если внутри реализации нет асинхронности - накой вы ее объявили? На будущее? Тогда см. п.1
    Ответ написан
    1 комментарий
  • Чем работать с БД кроме Entity FrameWork в ASP.NET MVC?

    @dmitryKovalskiy
    программист средней руки
    Материлы в сети по EF потому что он модный, простой и не требует знаний SQL. Если вы хорошо разбираетесь в архитектуре БД и знаете как писать оптимальные SQL-запросы с использованием индексов и query plan-ов. То советую, как сказал mletov писать через ADO.NET.
    Мой личный подход - вызов хранимых процедур с помощью SQLConnection и Dapper, позволяющий использовать асинхронность(хотя по факту - псевдоасинхронность)
    Ответ написан
    Комментировать
  • Где нужен средний балл диплома?

    @dmitryKovalskiy
    программист средней руки
    Он нужен там где вас спросят "Какой у вас средний балл?". Может быть в анкете какой, может в резюме, может при заполнении заявления на загранпаспорт или визу добавят. Вам как удобнее? Каждый раз считать средний балл по 40 предметам или иметь запись?
    А вот нужен этот средний бал при устройстве на работу - вопрос другой. По большому счету нет. Однако если вы закончили средненький вуз со средним баллом 3, то может найтись человек, который сочтет что вы слабенький специалист.
    Если вы закончили прекрачный вуз на троечку - значит что название вуза роли не играет. Как бы хорошо вас не учили - сами вы учились слабенько.

    Ну и так далее. Встретите вы людей, которым это важно? Может да, а может и нет. Это непредсказуемо. Я встречал людей, которым на собеседовании были интересны мои хобби. Только вот какая в этом всем разница?!

    Насчет что указывать - указывайте или и то и другое или последнее образование. Никому не интересно что вы были гением бакалавром, если в магистратуре вы болт пинали.
    Ответ написан
  • Что исправить в строке подключения к базе данных Entity Framework C#?

    @dmitryKovalskiy
    программист средней руки
    Так вам же скриншот все написал. Что вы еще хотите? Согласно скриншоту - у вас модели явно описаны подходом CodeFirst, а показанный connection string имеет ссылки на модели сопоставления классов - сущностям в бд (DatabaseFirst). Тут или крестик или трусы. Насколько я помню подход CodeFirst - connection string должен содержать только расположение сервера БД и реквизиты, достаточные для манипуляции как с данными, так и со структурами таблиц. Касательно переноса - вообще проблемы не понял и не увидел, это уже какие-то ваши фантазии. Приложение содержит конфиг, в нем строки соединения с БД. Что еще вы хотите? Да, при деплое проекта - в полученном дистрибутиве, или что вы там надеплоите, будет конфиг, содержащий connection string
    Ответ написан
  • Как изучить язык баз данных SQL?

    @dmitryKovalskiy
    программист средней руки
    SELECT/INSERT/UPDATE/DELETE и JOIN-ы не изменились. Большая часть работы с SQL - виртуозное владение этими командами.
    Ответ написан
    Комментировать
  • Отследить переход с контекстной рекламы?

    @dmitryKovalskiy
    программист средней руки
    А в чем сложность? Переходы с рекламы всегда содержат параметры, характеризующие источник перехода. Вроде utm_source
    Ответ написан
    Комментировать
  • Как реализовать мониторинг статуса пользователей?

    @dmitryKovalskiy
    программист средней руки
    https://habr.com/company/3cx/blog/265653/ Кажется там раскрываются необходимые вам темы
    Ответ написан
    Комментировать
  • Как соотнести имена файлов с одинаковыми датами?

    @dmitryKovalskiy
    программист средней руки
    Я бы решал грубо и в лоб.
    Даты привести к типу даты и отформатировать дату к виду "yyyy_MM_dd__HH_mm".
    А затем искать подстроку в названии файла
    Ответ написан
    2 комментария
  • ASP - выполнение javascript кода после обработчика asp:Button onClick?

    @dmitryKovalskiy
    программист средней руки
    На первый взгляд - нет в силу специфики жизненного цикла WebForms.
    Если чуть задуматься - событие onclick вызывается через Ajax? Тогда на клиентское событие onSuccess останавливайте что хотите.
    Если событие вызывается синхронно - то в чем проблема? там страница перезагрузиться должна.
    Ответ написан
  • Как скрыть номер карты или счета в форме?

    @dmitryKovalskiy
    программист средней руки
    По соображениям безопасности ваши реквизиты не нужны клиенту от слова "никак".
    1) Вы подключаетесь к некому платежному сервису, сообщая ему реквизиты, на которые будут поступать деньги.
    2) Вы направляете клиента в этот платежный сервис с нужными входными параметрами.
    3) Клиент передает свои деньги платежному сервису.
    4) Платежный сервис передает деньги вам, забрав свою долю.

    На какой их этих шагов вы хотите засунуть свой номер карты или счета?
    Ответ написан
    2 комментария
  • Как передать json файл в контроллер через AJAX правильно?

    @dmitryKovalskiy
    программист средней руки
    1)Пометьте входные параметры атрибутом [FromBody]. То что написали вы - это теоретически динамический параметр, который должен состоять из 80-90 полей, которые собственно содержатся в запросе.
    2) Напишите класс модели, в которую собственно должен делаться маппинг запроса.

    P.S. ваш запрос явно адресован на localhost:53114. Если ваше приложение находится в одном домене с клиентской частью - уберите эту ссылку, а если нет, то убедитесь что в вашем приложении корректно настроен CORS.
    Ответ написан
    4 комментария
  • Онлайн-касса и ИП кому отсрочка до 2019?

    @dmitryKovalskiy
    программист средней руки
    ИП открыли не зря. Вопрос Онлайн-Касс, насколько я помню закон, это вопрос взаимоотношений Buisiness2Client. Вы, надеюсь, работаете в области B2B. Не знаю насколько я хорошо знаком с этими тонкостями, но в этой области обмена фискальных документов такого рода не происходит. Договоры подряда, накладные, акты приемки, выставленные счета в банк - это сколько угодно. А вот фискальные документы?! ни разу не слышал.
    Ответ написан
    Комментировать
  • Что будет если я скопирую дизайн сайта популярного интернет-магазина?

    @dmitryKovalskiy
    программист средней руки
    Смотрю на сайт mcdonalds. Представляю что будет если убрать логотип и товары. Первая мысль - а что вы собираетесь там копировать?! Думаю что не предъявят, но в основном из-за того то там сайт прост как 2 копейки.
    Ответ написан
    2 комментария
  • Почему средняя длина английского слова меньше, чем русского?

    @dmitryKovalskiy
    программист средней руки
    Вопрос касается математики ровно в тех вопросах что вы озвучили. В общем и целом это вопрос истории, археологии и в первую очередь - этимологии и лингвистики.
    Ответ написан
    Комментировать
  • Исполнителю не нужно ТЗ. Это нормально?

    @dmitryKovalskiy
    программист средней руки
    Ну не хотят ТЗ - их право в принципе. А ваше право - заранее узнать что вы получите в итоге. Не "мы сделаем, а мы решите что поправить", а заранее согласовать что они хотят сделать и почему.
    Вы можете не понять тех или иных решений, в таком случае их задача пояснить непонятные места.
    Может ли это кончится хорошо? Да. Может ли это кончится бесконечными переделками? Да.
    Лично мое мнение - ВСЕГДА нужно заранее согласовать фронт работ и их результат. В описанном вами виде они могут сделать что хотят. Если вам не понравится? Чуток подправить ровно до того момента как вы примете работу(это не значит что она вам понравится, это значит "ну ладно, достали, оставляйте так"). Они останутся с деньгами, а вы с неким результатом их работы. Будете вы его использовать? Может и повезет, может и будете.
    Ответ написан
    Комментировать
  • Почему зависает сайт при работе с двух окон?

    @dmitryKovalskiy
    программист средней руки
    На слух конечно такое решать сложно. Причина почему из разных браузеров работает скореее всего связана с тем что авторизация в разных браузерах инициирует разные идентификаторы сессий и фактически каждый пользователь живет своей жизнью что есть правильно.
    Касательно основной задачи - проблема чисто архитектурная. Большие тяжелые SQL запросы нельзя выполнять синхронно с действиями пользователя. Как хотите обходите, но формирование отчета не может и не должно реализовываться через синхронный запрос. И нет - async/await ситуацию не исправит. Хотите делать визуальное представление данных - оптимизируйте запрос,денормализовывайте таблицы, стройте индексы, в общем разбирайтесь по query-plan что работает долго.
    Некоторые расчеты можно предрасчитать заранее(хотя это большая редкость, но бывает).

    Опять же вопрос - нужно ли пользователю весь набор данных отчета или только некая выжимка(топ-10 от чего-то). Если нужен весь - то может стоит реализовать через выгрузку в файл и почту, а не в интерфейс системы.
    Ответ написан
    Комментировать