예제 #1
0
        public async Task <ActionResult <BaseResponse <string> > > CheckGrocery([FromRoute] int shopId, [FromRoute] int groceryId)
        {
            var grocery = await _grocceryItemService.CheckProduct(shopId, groceryId);

            if (grocery == null)
            {
                return(BadRequest(new BaseResponse <string>()
                {
                    Succes = false,
                    Error = "No grocery found by this shopId and groceryId"
                }));
            }

            var signalrRoom = await _grocceryItemService.GetSignalrRoom(shopId);

            if (signalrRoom == null)
            {
                return(BadRequest(new BaseResponse <string>()
                {
                    Succes = false,
                    Error = "No signalr group found for this grocery list"
                }));
            }

            await _groceryItemHub.Clients.Group(signalrRoom).SendAsync(nameof(IGroceryItemHub.CheckGrocery), groceryId, grocery);

            return(Ok(new BaseResponse <string>()
            {
                Data = $"Grocery is set to {(grocery.Purchased ? "purchased" : "not purchased")}",
                Succes = true
            }));
        }