powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Type
21 сообщений из 196, страница 8 из 8
Type
    #39340072
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас я юзера добавляю в контроллере, а как это вынести в репозитрий,
как его туда проталкивать?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public IActionResult Add([FromBody] Purchase request)
        {
            var identity = User.Identity as ClaimsIdentity;
            var userId = (from c in identity.Claims
                where c.Type == "Id"
                select c.Value).First();
            var user = _userRepository.GetById(userId);
            request.Author = new RequestUser()
            {
                Id = user.Id,
                Name = user.Name,
                LastName = user.LastName,
                SecondName = user.SecondName,
                Position = user.Position
            };
            request.Products = new List<PurchaseProduct>();
            request.Status = new RequestStatus() {Id = "draft", Title = "Черновик"};
            var task = _requestRepository.Add(request);
            return new JsonResult(new {id = task.Result});
        }



Делать так?
Код: c#
1.
_requestRepository.User = User.Identity
...
Рейтинг: 0 / 0
Type
    #39340242
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max, а зачем его в репозиторий проталкивать?
...
Рейтинг: 0 / 0
Type
    #39340395
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAmr_max, а зачем его в репозиторий проталкивать?
в репозитории я хочу прописать всю логику добавления в монгу..
сделал пока так
Код: c#
1.
2.
3.
4.
5.
6.
7.
[HttpPost("{id:int}/approval")]
        public IActionResult AddApproval(int id)
        {
            _requestRepository.User = User.Identity as ClaimsIdentity;
            var task = _requestRepository.AddApproval(id);
            return new ObjectResult(new {id = task.Result});
        }
...
Рейтинг: 0 / 0
Type
    #39340531
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxskyANAmr_max, а зачем его в репозиторий проталкивать?
в репозитории я хочу прописать всю логику добавления в монгу..
Добавлению в монгу чего? Описание шаблона Репозиторий читали?

Посредничает между уровнями области определения и распределения данных (domain and data mapping layers), используя интерфейс, схожий с коллекциями для доступа к объектам области определения.

Имхо ClaimsIdentity не относится к вашей предметной области, к вашему domain.
...
Рейтинг: 0 / 0
Type
    #39340561
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAmr_maxпропущено...

в репозитории я хочу прописать всю логику добавления в монгу..
Добавлению в монгу чего? Описание шаблона Репозиторий читали?

Судя по картинке я делаю не правильно(
https://msdn.microsoft.com/en-us/library/ff649690.aspx
Нужно auery отдавать в контроллер, а он уже будет его крутить вертеть, так?
...
Рейтинг: 0 / 0
Type
    #39340679
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть коллекция requests_approval - процесс согласования.

нужно ли там хранить id заявки, если хранить id согласования в заявки, то при изменении процесса согласования, приходится читать заявку сначала, и вытаскивать оттуда id согласования,

как быть?
...
Рейтинг: 0 / 0
Type
    #39340842
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxskyANAпропущено...

Добавлению в монгу чего? Описание шаблона Репозиторий читали?

Судя по картинке я делаю не правильно(
https://msdn.microsoft.com/en-us/library/ff649690.aspx
Нужно auery отдавать в контроллер, а он уже будет его крутить вертеть, так?
Если по картинке, то нужно Business Entity отдавать.
...
Рейтинг: 0 / 0
Type
    #39340844
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть экземпляр типа Purchase.
...
Рейтинг: 0 / 0
Type
    #39340845
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxЕсть коллекция requests_approval - процесс согласования.

нужно ли там хранить id заявки, если хранить id согласования в заявки, то при изменении процесса согласования, приходится читать заявку сначала, и вытаскивать оттуда id согласования,

как быть?А зачем сейчас в зявке id согласования?
...
Рейтинг: 0 / 0
Type
    #39340888
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAmr_maxЕсть коллекция requests_approval - процесс согласования.

нужно ли там хранить id заявки, если хранить id согласования в заявки, то при изменении процесса согласования, приходится читать заявку сначала, и вытаскивать оттуда id согласования,

как быть?А зачем сейчас в зявке id согласования?
Ну как зачем, наверно по привычке делаю как в sql.
предлагаете убрать его оттуда?
...
Рейтинг: 0 / 0
Type
    #39340961
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxskyANAпропущено...
А зачем сейчас в зявке id согласования?
Ну как зачем, наверно по привычке делаю как в sql.
предлагаете убрать его оттуда?
При чём тут SQL? С точки зрения логической модели зачем в заявке ссылаться на согласование? С точки зрения предметной области? С точки зрения ваших процессов?
...
Рейтинг: 0 / 0
Type
    #39340990
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAmr_maxпропущено...

Ну как зачем, наверно по привычке делаю как в sql.
предлагаете убрать его оттуда?
При чём тут SQL? С точки зрения логической модели зачем в заявке ссылаться на согласование? С точки зрения предметной области? С точки зрения ваших процессов?
Для того, чтобы в карточке заявки видеть процесс согласования.
...
Рейтинг: 0 / 0
Type
    #39340998
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxskyANAпропущено...

При чём тут SQL? С точки зрения логической модели зачем в заявке ссылаться на согласование? С точки зрения предметной области? С точки зрения ваших процессов?
Для того, чтобы в карточке заявки видеть процесс согласования.
Это не с точки зрения предметной области, это с точки зрения конкретной реализации UI :)
По мне так вполне вероятна ситуация, когда был один процесс согласования, в результате которого было решено обосновать в заявке одно, выкинуть другое и т.п.
Переделали заявку, и запустили повторный процесс согласования. Что говорит нам о том, что в заявке не надо хранить id процесса, т.к. одной заявке может соответсвовать несколько процессов согласования.
...
Рейтинг: 0 / 0
Type
    #39341001
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max, но если у Вас иначе, то вероятно можно сделать и так как Вы.
...
Рейтинг: 0 / 0
Type
    #39341946
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAmr_max, но если у Вас иначе, то вероятно можно сделать и так как Вы.
Сделаю пока как вы предлагаете, а там видно будет
...
Рейтинг: 0 / 0
Type
    #39342337
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо :)

Кстати по поводу:
mr_maxприходится читать заявку сначала, и вытаскивать оттуда id согласования
В MongoDB поддерживаются покрывающие индексы, а C# драйвер поддерживает проекции. Так что очень быстро можно вытащить id согласования из памяти даже при хранении последнего вместе с заявкой.
...
Рейтинг: 0 / 0
Type
    #39342480
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь нужно узнавать для юзера который заходит на страницу списка заявок, есть ли заявки этого типо у него на согласовании.
это мне надо в коллекции approval, сделать поле
request = {
Id : 'ид заявки',
Type: 'тип заявки'
}

и потом филmтровать по ним
правильно?
...
Рейтинг: 0 / 0
Type
    #39342489
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_max, Вам виднее.
...
Рейтинг: 0 / 0
Type
    #39342661
Фотография mr_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAmr_max, Вам виднее.
А как сделать следующие мне надо вывести заявки которые у меня на согласовании.

ид заявки только в коллекции approvals находится, там же находится и ид пользователя.
Сделать с помощью linq AsQueryable или сначала узнать все ид заявок в коллекции approvals.
А потом их запросить у коллекции requests?
...
Рейтинг: 0 / 0
Type
    #39342800
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_maxskyANAmr_max, Вам виднее.
А как сделать следующие мне надо вывести заявки которые у меня на согласовании.
В каком виде?
...
Рейтинг: 0 / 0
Type
    #39342805
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё зависит от того, где какие конкретно данные нужны и как с этими данными работают.
...
Рейтинг: 0 / 0
21 сообщений из 196, страница 8 из 8
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Type
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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