void RegisterOnMessageHandlerAndReceiveMessages() { // Register the function that processes messages. _subscriptionClient.RegisterMessageHandler((message, token) => { string json = Encoding.UTF8.GetString(message.Body); CartItemsReceiverDetails cartItems = JsonConvert.DeserializeObject <CartItemsReceiverDetails>(json); int quantityDifference = 1; bool result = _searchRepository.UpdateQuantitiesForMenuOfRestaurant(cartItems.RestaurantId, cartItems.MenuId, cartItems.Quantity, out quantityDifference); //if (quantityDifference < 1 && result) //{ // cartItems.Quantity = quantityDifference; // string jsonForOrderService = JsonConvert.SerializeObject(cartItems); // SendMessageAsync(jsonForOrderService); //} Console.WriteLine($"{cartItems.Quantity} plates of Menu {cartItems.MenuId} ordered from Restaurant {cartItems.RestaurantId}"); return(_subscriptionClient.CompleteAsync(message.SystemProperties.LockToken)); }, new MessageHandlerOptions(ExceptionReceivedHandler) { AutoComplete = false, MaxConcurrentCalls = 1 }); }
public IActionResult InsertCartDetailsCheck([FromBody] CartItemsReceiverDetails cartReceiverItem) { try { CartItems cartItem = business_Repo.InsertCartDetailsCheck(cartReceiverItem); return(Ok(cartItem)); } catch (Exception) { return(this.StatusCode((int)HttpStatusCode.InternalServerError, string.Empty)); } }
public CartItems InsertCartDetailsCheck(CartItemsReceiverDetails item) { try { CartItems cartItem = new CartItems(); MenuItems menu = search_Repository.CartDetailsCheck(item.RestaurantId, item.MenuId); if (menu != null) { cartItem = (new CartItems() { MenuName = menu.Item, Quantity = item.Quantity, Price = menu.Price, IsItemAvailable = (item.Quantity <= menu.Quantity) ? true : false, }); } if (!cartItem.IsItemAvailable) { cartItem.Quantity = menu.Quantity; } return(cartItem); } catch (Exception ex) { throw new Exception(ex.Message); } //string serializedCartSenderItems = JsonConvert.SerializeObject(lstCartItems); //await _messenger.SendMessageAsync(serializedCartSenderItems); //RestaurantMenu menuObj = new RestaurantMenu(); //menuObj.quantity = menu.quantity; // return 0; }