Могу ли я перенести мой дубликат чека в хранилище в MVC? - PullRequest
0 голосов
/ 13 декабря 2011

У меня в настоящее время есть код в моем слое обслуживания, чтобы проверить дубликаты заголовков:

   protected bool ValidateAccount(Account account)
    {
        var accounts = _accountRepository.GetPk(account.PartitionKey);
        if (accounts.Any(b => b.Title.Equals(account.Title) &&
                              !b.RowKey.Equals(account.RowKey)))
            _validationDictionary.AddError("", "Duplicate title");
        return _validationDictionary.IsValid;
    }

Может кто-нибудь объяснить, могу ли я переместить этот код в свой репозиторий. В настоящее время у меня есть то, что выглядит так:

public class Account
{
    public string PartitionKey { get; set; }
    [Required(ErrorMessage="Title required")]
    [DisplayName("Title")]
    public string Title { get; set; }
}

1 Ответ

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

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

Как правило, я предпочитаю хранить всю бизнес-логику вместе на уровне обслуживания.Я бы оставил код как есть.

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

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