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);
     }
 }
Beispiel #5
0
        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);
        }
Beispiel #7
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"));
        }