Size: a a a

🎄.NET Talks: Evergreen🎄

2019 November 25

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
источник

Dv

Dr. Friedrich von Never in 🎄.NET Talks: Evergreen🎄
Ок. Обосратушки!
источник

Dv

Dr. Friedrich von Never in 🎄.NET Talks: Evergreen🎄
А почему код красный?
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
Кусок queryable откусывает
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
var queryable = _context.Likes.AsQueryable();

switch (command.Type)
{
   case LikeTypeApi.Checkin:
       queryable = queryable.Where(x => x.CheckinId == command.ItemId);

       break;

   case LikeTypeApi.Comment:
       queryable = queryable.Where(x => x.CommentId == command.ItemId);

       break;

   default:
       throw new ArgumentOutOfRangeException(nameof(command.Type));
}

схлопывает тупо _context.Likes.AsQueryable()
источник

Dv

Dr. Friedrich von Never in 🎄.NET Talks: Evergreen🎄
А, ок, вижу
источник

Dv

Dr. Friedrich von Never in 🎄.NET Talks: Evergreen🎄
Он съел самую первую строчку
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
угу
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
еще и в Extension'ы почему-то развернул
источник

Dv

Dr. Friedrich von Never in 🎄.NET Talks: Evergreen🎄
Nesterenko Konstantin
еще и в Extension'ы почему-то развернул
Ну, это мне в глаза бросилось
источник

Dv

Dr. Friedrich von Never in 🎄.NET Talks: Evergreen🎄
А вот просёр первой строки — нет
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
в идеале должно получится что-то вроде:
var queryable = _context.Likes.AsQueryable();
queryable = command.Type switch
{
   LikeTypeApi.Checkin => queryable.Where(x => x.CheckinId == command.ItemId),
   LikeTypeApi.Comment => queryable.Where(x => x.CommentId == command.ItemId),
   _ => throw new ArgumentOutOfRangeException(nameof(command.Type))
};
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
вообще конечно тут проблема со структурой базы, но то похуй
источник

V

Vabka in 🎄.NET Talks: Evergreen🎄
Nesterenko Konstantin
Ну тип, мне надо отправить емейл об подверждение чего-то там, а фронтам информация о том, что у меня емейл не удалось отправить нафиг не нужна (по идее)
мы такое через очередь делаем - приходит запрос, что надо отправить сообщение на почту, мы кладём это в rabbit и сразу отвечаем типа "ожидайте". А сервис который шлёт почту работает в другом процессе
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
ну то жирно будет, кроля для такого поднимать
источник

V

Vabka in 🎄.NET Talks: Evergreen🎄
но вполне можно и через hostedService
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
я бы и не против, но потом хуего сколько еще проблем повылазит
источник

V

Vabka in 🎄.NET Talks: Evergreen🎄
инжектнуть ChannelWriter в контроллер, а ChannelReader оставить в hostedService
источник

NK

Nesterenko Konstantin in 🎄.NET Talks: Evergreen🎄
и кошелек у заказчика не резиновый)0
источник

V

Vabka in 🎄.NET Talks: Evergreen🎄
Vabka
инжектнуть ChannelWriter в контроллер, а ChannelReader оставить в hostedService
вот вар без кроля
источник