Как сделать каталог товаров на С#?

Мне нужно разработать приложение-каталог товаров (около 4000 товаров), которое будет раздаваться клиентам на CD или DVD. Каталог существует в формате веб-страницы с использованием PHP и MySQL.

ВАЖНО: приложение предоставляется клиентам, у которых может быть старый ПК, старая система. Для минимальных требований я бы поставил Windows XP и Internet Explorer 6 (если нужно).

I need the following features:
1 search option (after productID AND after keyword)
2 print option (by selecting multiple products)
3 shopping cart (making a list which will be sent to an email address if there is any Internet Connection on the computer)

Когда меня попросили это сделать, у меня было 2 дня, чтобы реализовать очень простую версию, поэтому я взял весь веб-сайт и экспортировал его в HTML-страницы, а также разработал приложение на C#, содержащее встроенный браузер. Таким образом, весь веб-сайт теперь статичен и помещен на компакт-диск. Пока все в порядке. Теперь вот проблемы:

1. the search option was realized by parsing the html files and reading the productID or looking for keywords inside of them. Put on a CD it was extremely slow (searching in 600MB of html files). FOR THIS I WOULD NEED A SOLUTION WITH A STATIC DATABASE (USING ACCESS OR SOMETHING) TO HAVE INDEXED ROWS, SO THE SEARCH COULD BE A VERY FAST ONE.
2. the printing option was a simply call of the embeded Internet Explorer print functions. Here are two problems: 
          a) user needs IE7 for printing the website scaled (FIT TO PAGE), otherwise the edges of the page are cut down.
          b) users of this app does not have even the basic PC usage skills, so they can't set the printing settings, so there will appear in header and footer the page numbers and titles. QUESTION: can I set these settings from CSS for printing?
3. couldn't make a a shopping cart as I don't use a database, so I have static websites and content is inside the HTML.

ВОПРОС: КАКИЕ РЕШЕНИЯ ОПИСАННЫХ ВЫШЕ ПРОБЛЕМ ЯВЛЯЮТСЯ ЛУЧШИМИ? ПОЖАЛУЙСТА, ОТВЕТИТЕ, ДАЖЕ ЕСЛИ ВАШ ОТВЕТ ТОЛЬКО НА ОДИН ВОПРОС. БЛАГОДАРНОСТЬ


person Ervin    schedule 09.03.2010    source источник
comment
Ваша клавиша Shift или Caps Lock сломалась после списка проблем.   -  person OregonGhost    schedule 09.03.2010


Ответы (3)


Если у вас есть существующие приложения, написанные на PHP/MySQL, возможно, лучше использовать XAMPP и поместить приложение на компакт-диск, чем писать новое приложение с нуля.
В этом случае пользователю не нужно устанавливать .NET Framework на свой компьютер.

Если вам необходимо написать приложение на C#, преобразуйте базу данных MySQL в файл xml и загрузите его в память при запуске приложения вместо разбора файлов html.

person šljaker    schedule 09.03.2010
comment
Вы имеете в виду поместить установочный комплект xampp на компакт-диск и позволить пользователю установить его? - person Ervin; 09.03.2010
comment
Нет. PHP/MySQL можно запустить прямо с компакт-диска. Конечному пользователю не нужно ничего делать. Вам просто нужно внести некоторые изменения в конфигурацию xampp и записать его на компакт-диск с вашим существующим приложением php. Я найду ссылку и выложу обратно. - person šljaker; 09.03.2010

Как насчет использования javascript и переменных cookie/url для передачи корзины покупок? Включен ли javascript во встроенном браузере?

person Michal Ciechan    schedule 09.03.2010
comment
У меня есть статьи (части) внутри продуктов, и статьи можно купить (положить в корзину), поэтому, если скопировать URL-адрес для идентификации продукта, я все еще не знаю, что это за статья. Но спасибо за переменные javascript и cookie, я уверен, что это поможет мне. - person Ervin; 09.03.2010

Я знаю, что это полностью отличается от того направления, в котором вы идете, но не могли бы вы вместо этого использовать электронную таблицу Excel?

Один лист для полного каталога и поиска.

Один лист для отображения/печати отдельных предметов.

person Bravax    schedule 09.03.2010
comment
Спасибо, как статический источник данных, это возможно, как и MS Access, но я не вижу связи между листом и печатью. Не могли бы вы быть более описательным, пожалуйста? Это может помочь мне. благодаря. - person Ervin; 09.03.2010
comment
Конечно, вы бы определили макет на листе в электронной таблице и установили область печати так, как вы хотите, чтобы она печаталась, тогда пользователь будет использовать стандартную функцию печати Excel для ее печати. - person Bravax; 09.03.2010