Улучшение приложения NerdDinner ASP.NET MVC 2 - PullRequest
0 голосов
/ 23 декабря 2011

Я создал приложение на основе ASP.NET MVC 2, используя популярное учебное пособие по NerdDinner, которое позволяет людям легко находить и организовывать обеды в Интернете. Я хочу каким-то образом развить этот сервис, добавив несколько функций. Это мой первый настоящий контакт с программированием. Я хотел бы попросить любые советы или предложения. У меня нет опыта, поэтому, пожалуйста, потерпите меня :) Заранее спасибо.

1. В приложении NerdDinner мы имеем в классе модели DinnerRepository с методом запроса, как показано ниже:

public class DinnerRepository
{
    private NerdDinnerEntities entities = new NerdDinnerEntities();
    //
    // Query Methods
    public IQueryable<Dinner> FindAllDinners()
    {
        return entities.Dinners;
    }
    public IQueryable<Dinner> FindUpcomingDinners()
    {
        return from dinner in entities.Dinners
               where dinner.EventDate > DateTime.Now
               orderby dinner.EventDate
               select dinner;
    }
}

Можно ли вернуть значение заданной строки таблицы (в приведенном выше коде мы получаем всю отсортированную таблицу). Например что-то вроде этого:

return from dinner in entities.Dinners
    WHERE dinner.EventDate like '% 2011-11-28 12:00:01%'
    orderby dinner.EventDate
    select dinner;

или dinner.Category = ‘something’.

Я пытался сделать это, но это не сработало. Для меня будет полезно создать выпадающий список (метод создания и редактирования) для различных категорий обедов.

2. Добавление языковой панели. Вверху у нас есть возможность изменить язык на всем сайте.

3. Отправка письма с подтверждением для людей, подтвердивших участие в собрании. Почта (PDF?) Будет генерироваться из значения, хранящегося в базе данных о встрече и лицах, участвующих в ней. (Может быть, триггер базы данных?).


UPDATE:
Благодарю за ваш ответ. Это было полезно.

Что касается вопроса № 3, я понятия не имею, как это сделать. Буду очень признателен за любые учебные пособия, примеры решений и т. Д. Я изменил проект NerdDinner для своего собственного использования в веб-сервисе, который поддерживает bar.

Короче говоря, корпус выглядит так:

У меня есть две таблицы: одна содержит информацию о конкретном блюде, вторая содержит идентификатор блюд и имя заказывающего человека (имя пользователя, вошедшего в сервис). Таблицы связаны внешним ключом. Заказ осуществляется ActionLink на странице. После нажатия обновляется таблица заказов.

Я бы хотел на этой основе отправить электронное письмо человеку, который заказал блюдо, в котором содержится информация о нем. Почему триггер базы данных - плохое решение?

На данный момент я только подтвердил регистрацию по электронной почте, но я не думаю, что это будет полезно. Создать что-то подобное очень сложно? Я спрашиваю, потому что я не особенно знаком с ASP.NET.

1 Ответ

0 голосов
/ 23 декабря 2011

Поскольку метод возвращает IQueryable, вы можете в своем коде использовать LINQ для ограничения количества возвращаемых строк. Если у вас есть экземпляр ужин, вы можете написать что-то вроде этого:

dinnerRepo.FindAllDinners (). Где (d => d.Category = ‘что-то’);

Запрос будет выполнен, когда вы используете этот результат, а не когда вы вызываете FindAllDinners. Более подробную информацию о LINQ можно найти здесь и здесь .

2 Должно быть много учебников, которые могут дать вам объяснение, как это сделать.

3 Я бы не отправлял электронное письмо с подтверждением, сгенерированное триггером базы данных. Вы могли бы написать фоновое задание, которое проверяет ваши данные каждую ночь и отправлять письма тогда или, если это будет слишком долго между запусками, которые вы отправляете по электронной почте, как только вы закончили хранить подтверждение в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...