public async Task <ResultWrapper <GetAllFoodTypesOutput> > Handle(GetAllFoodTypesQuery request, CancellationToken cancellationToken)
        {
            ResultWrapper <GetAllFoodTypesOutput> result = new ResultWrapper <GetAllFoodTypesOutput>();

            var tDataList = await _dbContext.TFoodType
                            .Where(x => request.foodId == 0 || x.TFoods.Any(z => z.Id == request.foodId))
                            .Include(x => x.TUserFoodTypes).ThenInclude(x => x.TUser).ToListAsync();

            var list = tDataList.Select(x => new PublicListItem()
            {
                Enabled  = x.Enabled,
                Selected = x.TUserFoodTypes.Any(z => z.TUser.FireBaseId == request.firebaseId),
                Text     = x.Title,
                Value    = x.Id.ToString(),
                Image    = x.Image.JoinWithCDNAddress()
            })
                       .ToList();

            result.Status = true;
            result.Result = new GetAllFoodTypesOutput()
            {
                list = list
            };

            return(result);
        }
Exemple #2
0
        public async Task <IActionResult> GetFoodTypes()
        {
            FirebaseUser         user  = HttpContext.GetFirebaseUser();
            GetAllFoodTypesQuery model = new GetAllFoodTypesQuery()
            {
                firebaseId = user.UserId
            };
            ResultWrapper <GetAllFoodTypesOutput> result = new ResultWrapper <GetAllFoodTypesOutput>();

            result = await _mediator.Send(model);

            return(Ok(result));
        }