public IQueryable <CartItemsEntity> GetCartItems(int CustomerID) { IQueryable <DataLayer.Context.TblCartItems> tblCartItems; List <CartItemsEntity> cartItems = new List <CartItemsEntity>(); try { tblCartItems = _placeOrderDbAccess.GetCartItems(CustomerID); foreach (var items in tblCartItems) { CartItemsEntity cartItemsEntity = new CartItemsEntity { TblCustomerId = items.TblCustomerId, TblMenuId = items.TblMenuId, TblRestaurantId = items.TblRestaurantId, TotalPrice = items.TotalPrice, DeliveryAddress = items.DeliveryAddress, IsItemAvailable = items.IsItemAvailable, CartId = items.Id }; cartItems.Add(cartItemsEntity); } return(cartItems.AsQueryable()); } catch (Exception ex) { throw ex; } }
public async Task <bool> IsOrderItemInStock(OrderEntity orderEntity, int UserId, string UserToken) { bool flag = true; using (HttpClient httpClient = WebAPIClient.GetClient(UserToken, UserId, _connectionStrings.Value.RestaurantApiUrl = "https://restaurentmanagement.azurewebsites.net/api/OrderDetails?orderedmenuitems=")) //using (HttpClient httpClient = new HttpClient()) { var ordermenudetails = JsonConvert.SerializeObject(orderEntity.OrderMenuDetails); HttpResponseMessage httpResponseMessage = await httpClient.GetAsync(_connectionStrings.Value.RestaurantApiUrl + ordermenudetails); if (httpResponseMessage.IsSuccessStatusCode) { string json = await httpResponseMessage.Content.ReadAsStringAsync(); List <OrderedMeniItems> ordereditems = JsonConvert.DeserializeObject <List <OrderedMeniItems> >(json); if (ordereditems != null) { foreach (var item in ordereditems) { if (item.quantity == 0) { flag = false; CartItemsEntity cart = new CartItemsEntity() { Status = false, TblMenuID = item.menu_ID, Price = item.price, Itemavailabilitystatus = "OutofStock", TblRestaurantID = orderEntity.RestaurantId }; _cartActions.UpdateCartitemstatus(cart); } else if (item.quantity == -1) { flag = false; CartItemsEntity cart = new CartItemsEntity() { Status = false, TblMenuID = item.menu_ID, Price = item.price, Itemavailabilitystatus = "Requested Quantity Not Available", TblRestaurantID = orderEntity.RestaurantId }; _cartActions.UpdateCartitemstatus(cart); } } return(flag); } } } return(false); }
public async Task UpdateCartMenuItemPrice(CartItemsEntity tblcart) { if (tblcart != null) { TblCart tc = new TblCart(); tc.TblMenuID = tblcart.TblMenuID; tc.Price = tblcart.Price; tc.Itemavailabilitystatus = tblcart.Itemavailabilitystatus; await _context.UpdateCartMenuItemPrice(tc); } }
public void UpdateCartitemstatus(CartItemsEntity tblcart) { if (tblcart != null) { TblCart tc = new TblCart(); tc.TblMenuID = tblcart.TblMenuID; tc.Price = tblcart.Price; tc.Itemavailabilitystatus = tblcart.Itemavailabilitystatus; _context.UpdateCartitemstatus(tc); } }
async Task ProcessMessagesAsync(Message message, CancellationToken token) { string msg = Encoding.UTF8.GetString(message.Body); msg = msg.Replace("Id", "TblMenuID"); CartItemsEntity cart = (CartItemsEntity)JsonConvert.DeserializeObject <CartItemsEntity>(msg); await _cartBusiness.UpdateCartMenuItemPrice(cart); await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken); _logService.LogMessage("Pricechange Event consumed: " + cart); }
public int AddCart(CartItemsEntity tblcart) { if (tblcart != null) { return(_context.AddCart(new DataLayer.Context.TblCart() { //Id = tblcart.CartId, TblCustomerID = tblcart.TblCustomerID, TblRestaurantID = tblcart.TblRestaurantID, TblMenuID = tblcart.TblMenuID, Price = tblcart.Price, Quantity = tblcart.Quantity, status = tblcart.Status, offer = tblcart.offer, RecordTimeStampCreated = DateTime.Now, RecordTimeStamp = DateTime.Now })); } return(0); }
public async Task <IActionResult> Post([FromBody] CartItemsEntity cartItemsEntity) { _logService.LogMessage("CartItem Entity received at endpoint : api/UpdateCart, User ID : " + cartItemsEntity.TblCustomerID); int UserId = (Request.Headers.ContainsKey("CustomerId") ? int.Parse(HttpContext.Request.Headers["CustomerId"]) : 0); string UserToken = (Request.Headers.ContainsKey("AuthToken") ? Convert.ToString(HttpContext.Request.Headers["AuthToken"]) : ""); //OrderEntityValidator cartEntityValidator = new OrderEntityValidator(UserId, UserToken, _placeorderAction); //ValidationResult validationResult = cartEntityValidator.Validate(cartItemsEntity); //if (!validationResult.IsValid) //{ // return BadRequest(validationResult.ToString("; ")); //} //else //{ var result = await Task <int> .Run(() => _cartAction.AddCart(cartItemsEntity)); if (result == 0) { return(BadRequest("Failed to Add cart, Please try again later")); } //} return(Ok("Add to cart successfully")); }