четверг, 21 ноября 2013 г.

Entity Framework: Как динамически сменить базу данных

Помогло решение из статьи
http://stackoverflow.com/questions/16752371/selecting-database-dynamically-in-entity-framework


похожие статьи
http://stackoverflow.com/questions/18532901/c-sharp-entity-framework-ef-4-1-change-schema-and-database-name-at-runtime

http://stackoverflow.com/questions/518535/how-to-use-ado-net-entity-framework-with-an-existing-sqlconnection

http://stackoverflow.com/questions/18841164/change-database-during-runtime-in-entity-framework-without-changing-the-connect

Битрикс: изменение формы счета (реквизиты платежных систем)

Задача
изменить формат счета (реквизиты платежных систем), выставляемого покупателю
Причина: в
Украине нет российских реквизитов БИК и КПП. Соответственно клиент попросил убрать БИК и КПП.

Решение
(не красивое но работает)
Краткий ответ 
(необходимо знание PHP/Html)
Отредактируйте файл
/bitrix/modules/sale/ru/payment/bill/payment.php
(не забудьте сохранить оригинал)

Если возникли проблемы (вдруг в новом битриксе будут другие файлы и пути)
- можете пройти по детальному описанию, как я вышел на этот файл

Детальный разбор
разобрал исходники компонента
bitrix.sale.order.payment
он находится в директории
bitrix/components/bitrix/sale.order.payment

в нем нашел место где инициализируется переменная $arPaySysAction
(у меня 62-ая строка)
и продиагностировл её
    echo "<pre>";
    print_r($arPaySysAction);
    echo "</pre>"; 
   

Распечатка массива привела меня к директории
/bitrix/modules/sale/payment/bill

В котрой находился файл
/bitrix/modules/sale/payment/bill/payment.php

в нем собственно и была ссылка на
/bitrix/modules/sale/ru/payment/bill/payment.php

я сделал копию найденного файла,
а оригинал подредактировал в соответствии с требованиями заказчика
(совет, конечно несистемный, но можно туда явно забить html-текстовки с нужными реквизитами, если у Вашего заказчика они меняются не так часто)

Ссылки по теме
К сожалению ссылок по теме не нашел.
Кто знает - поделитесь.

jQuery-UI CDN Themes

Ссылки на Темы JQuery UI из гугловского CDN

Беру отсюда

http://stackoverflow.com/questions/820412/downloading-jquery-ui-css-from-googles-cdn


Определить InternetExplorer 10 через JavaScript

Задача:
Сделать дополнительный код для IE 10

Решение
Если не вдаваться в детали, то JavaScript-код, устанавливающий переменную
выгладит так.

var isIE10 = false;
/*@cc_on
    if (/^10/.test(@_jscript_version)) {
        isIE10 = true;
    }
@*/
alert(isIE10);


После этого можно использовать переменную isIE10


Ссылки по теме
Помогла статья
http://stackoverflow.com/questions/16366907/how-do-i-detect-ie10-using-javascript

Еще одна статья
http://stackoverflow.com/questions/9900311/how-do-i-target-only-internet-explorer-10-for-certain-situations-like-internet-e

Хороший JQuery слайдер: bxSlider

Хороший слайдер
http://bxslider.com/

Быстро внедрил и настроил

Почему понравился 
т.к. он используется в KickStart-фреймворке (http://99lime.com)

Ссылки по теме
JQuery-Слайдер на инфоблоках Битрикс

суббота, 16 ноября 2013 г.

вторник, 12 ноября 2013 г.

Проблема перехода с MVC3 на MVC 4 : Не вызывается событие ExecuteCore

Проблема
Переводил MVC3 проект на MVC4 (сам переход описан в статье Переход с ASP.NET MVC 3 на MVC4). Столкнулся с проблемой: перестало вызываться событие ExecuteCore (у меня на нем был завязан код инициализации контроллера).

Решение
перешел на событие BeginExecuteCore

На практике сделал поиск и замену во всем проекте 2-х строк
1.
protected override void ExecuteCore()
заменил на
protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)

2.
base.ExecuteCore();
заменил на
return base.BeginExecuteCore(callback, state);


Ссылки по теме
помогло это обсуждение
http://stackoverflow.com/questions/9555069/executecore-in-base-class-not-fired-in-mvc-4-beta

понедельник, 11 ноября 2013 г.

Переход с ASP.NET MVC 3 на MVC4 (с VS 2010 на VS2012)

Задача
Перенести проект с MVC 3 на MVC4 (с VS 2010 на VS2012)

Решение
1. Смена студий с Visual Studio 2010 на Visual Studio 2012
Переоткрыл солюшн в новой студии. Студия сама сделала перконвертацию. У меня обошлось без ошибок

2. Смена MVC 3 на MVC 4
Использовал NuGet пакет
Auto Upgrade MVC 3 To MVC 4 version 1.0.1
https://www.nuget.org/packages/UpgradeMvc3ToMvc4

В окне Manage NuGet Packages в поиске ввел "upgrade". Нужный плагин нашелся на первой странице.

3. Правка кода
3.1. Не вызывается событие ExecuteCore
Предыдущие этапы у меня прошли гладко.Но столкнулся с проблемой.
Суть: перестало вызываться событие ExecuteCore
Обращу внимание: у Вас этой проблемы может не возникнуть, если вы не использовали ExecuteCore.
Решение описал в статье:
Проблема перехода с MVC3 на MVC 4 : Не вызывается событие ExecuteCore

3.2. Ошибка компилятора Compiler Error Message: CS1513: } expected
Тут просто компилятор ведет себя по другому.

теперь код вью нужно поправить в соответствии с рекомендациями

Dont : @{if(check){body}}
Recommended : @if(check){body}

Dont : @if(@variable)
Recommended : @if(variable)

Don't : @{int a = @Model.Property }
Recommended : @{int a = Model.Property }


обсуждение
http://stackoverflow.com/questions/12809855/issue-migrating-mvc3-application-to-mvc4-compiler-error-message-cs1513-expe

3.3. Ненужная валидация hidden полей
Стала работать валидация hidden полей. она мне не была нужна
Она была мне не нужна, поэтому отключил её.

$(document).ready(function () { 
    //-- отключаю валидацию скрытых полей в форме
    $.validator.setDefaults({ ignore: 'input:hidden' });
});

тут помогло обсуждение
http://stackoverflow.com/questions/10136342/perform-validation-on-hidden-fields


Ссылки по теме
В этом обсуждении подсмотрел ссылку на пакет Auto Upgrade MVC 3 To MVC 4
http://stackoverflow.com/questions/8853330/converting-a-asp-net-mvc-3-project-to-mvc-4


Upgrading an ASP.NET MVC 3 Project to ASP.NET MVC 4 - этой статьей честно говоря не воспользовался