Example #1
0
        public async Task <IActionResult> GetSupplierFood(int foodId)
        {
            FirebaseUser         user  = HttpContext.GetFirebaseUser();
            GetSupplierFoodQuery model = new GetSupplierFoodQuery()
            {
                firebaseId = user.UserId,
                FoodId     = foodId
            };
            ResultWrapper <GetSupplierFoodOutput> result = new ResultWrapper <GetSupplierFoodOutput>();

            result = await _mediator.Send(model);

            return(Ok(result));
        }
        public async Task <ResultWrapper <GetSupplierFoodOutput> > Handle(GetSupplierFoodQuery request, CancellationToken cancellationToken)
        {
            ResultWrapper <GetSupplierFoodOutput> result = new ResultWrapper <GetSupplierFoodOutput>();

            var tData = await _dbContext.TFood
                        .Include(x => x.TFoodType)
                        .Include(x => x.TFoodNutritions).ThenInclude(x => x.TNutrition)
                        .Include(x => x.TFoodNutritions).ThenInclude(x => x.TNutritionUnit)
                        .FirstOrDefaultAsync(x => x.TUserId == request.SupplierId && x.Id == request.FoodId);

            if (tData == null)
            {
                result.Status  = false;
                result.Message = "this food doesn't exists";
                return(result);
            }
            result.Status = true;
            result.Result = new GetSupplierFoodOutput()
            {
                Id             = tData.Id,
                Title          = tData.Title,
                Enabled        = tData.Enabled,
                Image          = tData.Image.JoinWithCDNAddress(),
                Tags           = tData.Tags ?? string.Empty,
                Price          = tData.Price,
                FoodTypeId     = tData.TFoodTypeId,
                FoodTypeName   = tData.TFoodType.Title,
                FoodNutritions = tData.TFoodNutritions.Select(x => new GetSupplierFoodOutput.FoodNutrition()
                {
                    NutritionId   = x.TNutritionId,
                    NutritionName = x.TNutrition.Title,
                    Amount        = x.Amount,
                    UnitId        = x.TNutritionUnitId,
                    UnitName      = x.TNutritionUnit.Title
                })
                                 .ToList()
            };

            return(result);
        }