powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Правильная структура ASP.NET MVC приложения
15 сообщений из 40, страница 2 из 2
Правильная структура ASP.NET MVC приложения
    #38923079
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAxeleronа контролер уже валидирует данные и посылает запрос в БД на выборку данных по фильтру

не-не. контроллер превращает полученные данные на фильтрацию в объект, содержащий фильтры, сортировку и пейджинг и отправляет это всё в бизнес-логику. последняя делает всё, что требуется, возвращает данные, которые контроллер намапливает во вью-модель и отдаёт во вью или клиенту.
Я упростил немного человеку для понимания, ты слишком правильный.
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38923095
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronЯ упростил немного человеку для понимания, ты слишком правильный.

а вы только в соседней ветке вместе со скайАной терзали бедного человека на части, так ничего же?
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38923100
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAxeleronЯ упростил немного человеку для понимания, ты слишком правильный.

а вы только в соседней ветке вместе со скайАной терзали бедного человека на части, так ничего же?
Там случай дохлый совсем - что человеку не скажи, он все равно станет vNext использовать.
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38923105
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronТам случай дохлый совсем - что человеку не скажи, он все равно станет vNext использовать.

Ну так он же изначально не спрашивал какую технологию выбирать, всего лишь по структуре папок был вопрос.
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38923107
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAxeleronТам случай дохлый совсем - что человеку не скажи, он все равно станет vNext использовать.

Ну так он же изначально не спрашивал какую технологию выбирать, всего лишь по структуре папок был вопрос.
Ну так мы ему помогли разобраться со всем :)
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38923169
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttAxeleronа контролер уже валидирует данные и посылает запрос в БД на выборку данных по фильтру

не-не. контроллер превращает полученные данные на фильтрацию в объект, содержащий фильтры, сортировку и пейджинг и отправляет это всё в бизнес-логику. последняя делает всё, что требуется, возвращает данные, которые контроллер намапливает во вью-модель и отдаёт во вью или клиенту.
а можно поподробнее? на контролере я бы сделал как то так:
Код: c#
1.
2.
3.
4.
OperationListModel operation = new OperationListModel { ProductName = "Detail1" };
var query = _operationService.GetAllOperation();
if (!String.IsNullOrEmpty(operation.ProductName))
        query = query.Where(o=>o.ProductName.Contains(operation.ProductName));
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38923190
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusа можно поподробнее? на контролере я бы сделал как то так:

слишком громоздко.

вот здесь есть либа и примеры, как собирать дескрипторы сортировок, фильтров и строить запросы LINQ динамически

https://github.com/kendo-labs/dlinq-helpers

ну и таких решений пруд пруди. по сути каждый их сам себе рисует, велосипедостроение в этом направлении неискоренимо ))
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38924527
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. подскажите пож. на сколько правильным будет следующее решение:
мне необходимо в моем приложении работать с файловой системой, т.е. создавать файлы, каталоги, проверять наличие файлов, архивировать(для того что бы получить то что было сохранено). я это представляю как создание и реализация данного интерфейса в сервисном слое с необходимым функционалом и вызов в необходимом мне месте. я правильно представляю? заранее спасибо
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38924567
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusВсем привет. подскажите пож. на сколько правильным будет следующее решение:
мне необходимо в моем приложении работать с файловой системой, т.е. создавать файлы, каталоги, проверять наличие файлов, архивировать(для того что бы получить то что было сохранено). я это представляю как создание и реализация данного интерфейса в сервисном слое с необходимым функционалом и вызов в необходимом мне месте. я правильно представляю? заранее спасибо

да, всё правильно. возможно стоит подумать о выносе реализации сервиса для работы с файловой системой отдельно (именно реализацию, а не интерфейс).
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38924587
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если сервисы реализуют бизнес процессы, то работа с файлами не относится к сервисному слою.
Это отдельный контур.
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38927341
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttbald56rusа можно поподробнее? на контролере я бы сделал как то так:

слишком громоздко.

вот здесь есть либа и примеры, как собирать дескрипторы сортировок, фильтров и строить запросы LINQ динамически

https://github.com/kendo-labs/dlinq-helpers

ну и таких решений пруд пруди. по сути каждый их сам себе рисует, велосипедостроение в этом направлении неискоренимо ))

а можно я еще поспрашиваю про фильтрацию/сортировку данных. скачал данный пример. на сколько я смог понять мне необходимы в моем проекте следующие классы: "Filter" - , "Sort","QueryableExtensions" - здесь методы для выполнения сортировки/фильтрации данных.я должен сделать методы расширения для выполнения сортировки/фильтрации. т.е. будет как то так:
Код: c#
1.
2.
3.
var sortdedQuery = query.Sort("Name", "asc"); //получили отсортированный список по полю Name
Filter filter = new Filter(){ Field = "CategoryId", Operator = "eq", Value = "2"}
var filteredQuery = query.Filter(filter); // получили фильтрованный список по полю "CategoryId"


Я правильно понял общий принцип???
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38927401
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusЯ правильно понял общий принцип???

Да, всё правильно.
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38932512
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt, не могли бы Вы помочь с реализацией фильтра.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class OperationSecurity : ActionFilterAttribute, IActionFilter
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (filterContext.ActionDescriptor.ActionName == "Index" || filterContext.ActionDescriptor.ActionName == "Create")
            {
                return;
            }                
            else if (filterContext.ActionDescriptor.ActionName=="Edit")
            {
                   
            }
        }
    }


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
[OperationSecurity]
public class OperationController : Controller
{
        public ActionResult Index()
        {
                return View();
        }

        public ActionResult Edit(int operationId)
        {
                return View();
        }

        [HttpPost]
        public ActionResult Edit(OperationEditModel operation)
        {
                return View();
        }
}


т.е. я хочу запретить редактирование/удаление операции для случая когда у операции есть "потомки" в виде программ. как это сделать правильно?мне приходит в голову тока следующее: при Get запросе по id получить операцию и проверить наличие "потомков". но есть небольшая загвоздка: в случае отсутствия потомков будет выполнен Get запрос, отобразится "представление", потом будет выполнен Post в этом случае я могу извлечь id из OperationEditModel и опять проверить. но что то мне кажется что это не правильно. заранее спасибо
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38934459
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rus,

учитывая
if (filterContext.ActionDescriptor.ActionName == "Index" || filterContext.ActionDescriptor.ActionName == "Create")
предлагаю для каждого action делать свой фильтр - потом проще за ними следить будет
...
Рейтинг: 0 / 0
Правильная структура ASP.NET MVC приложения
    #38934485
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusт.е. я хочу запретить редактирование/удаление операции для случая когда у операции есть "потомки" в виде программ. как это сделать правильно?мне приходит в голову тока следующее: при Get запросе по id получить операцию и проверить наличие "потомков". но есть небольшая загвоздка: в случае отсутствия потомков будет выполнен Get запрос, отобразится "представление", потом будет выполнен Post в этом случае я могу извлечь id из OperationEditModel и опять проверить. но что то мне кажется что это не правильно. заранее спасибо

Рассмотрим:

1. Операции: редактирование/удаление (GET, POST Edit, Delete actions)
2. "Операция" это некий объект в модели данных
3. "Потомок" это некая связь, которую можно добыть через объект "Операция"

Задачи фильтра:

1. Фильтр узкоспециализированный, т.е. применяется не на контроллер, а на конкретные действия
2. Фильтр извлекает из Action Parameters идентификатор операции
3. Фильтр получает объект из репозитория по ID
4. Фильтр проверяет наличие "Потомков"
5. Фильтр принимает решение о выдаче или невыдаче разрешения, и в случае отсутствия разрешения отменяет операцию и возвращает пользователю либо код ошибки, либо редиректит на страницу с информацией об отсутствии разрешения, либо редиректит на простмотр (Index или Details), предварительно передав через TempData мессадж о недоступности операции, который должен быть выведен каким-нибудь блоком в HTML.

Т.е. в данном случае универсальный фильтр хуже, чем специализированный, так как универсальный должен определять тип операции по названию экшена, что нехорошо и негибко, а специализированный ты можешь плюхнуть на любые действия. Мало ли, может удаление потом понадобится, ты просто закомментишь фильтр на действии.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Правильная структура ASP.NET MVC приложения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]