Ejemplo n.º 1
0
        /// <summary>
        /// Place order
        /// </summary>
        /// <param name="cartEntity">Order details</param>
        /// <returns>order id</returns>
        public int AddToCart(AddToCartEntity cartEntity)
        {
            try
            {
                DataLayer.Context.TblFoodCart tblFoodCart = _mapper.Map <DataLayer.Context.TblFoodCart>(cartEntity);
                tblFoodCart.UserCreated = cartEntity.CustomerId;
                //calculate total price
                tblFoodCart.TotalPrice = TotalPrice(cartEntity);
                var OrderID = _addToCartDbAccess.AddToCart(tblFoodCart);

                List <DataLayer.Context.TblFoodCartMapping> tblFoodCartMappings = new List <DataLayer.Context.TblFoodCartMapping>();

                foreach (OrderMenus orderMenu in cartEntity.OrderMenuDetails)
                {
                    tblFoodCartMappings.Add(new DataLayer.Context.TblFoodCartMapping()
                    {
                        TblFoodCartId          = OrderID,
                        TblMenuId              = orderMenu.MenuId,
                        Price                  = orderMenu.Price,
                        UserCreated            = cartEntity.CustomerId,
                        RecordTimeStampCreated = DateTime.Now
                    });
                }

                return(_addToCartDbAccess.AddToCartMappingTable(tblFoodCartMappings));
            }
            catch (Exception ex)
            {
                return(-1);
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddToCart([FromBody] AddToCartEntity addToCartEntity)
        {
            _logService.LogMessage("AddToCart Entity received at endpoint : api/AddToCart, User ID : " + addToCartEntity.CustomerId);
            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"]) : "");

            AddToCartEntityValidator orderEntityValidator = new AddToCartEntityValidator(UserId, UserToken, _addToCartActions);
            ValidationResult         validationResult     = orderEntityValidator.Validate(addToCartEntity);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.ToString("; ")));
            }
            else
            {
                var result = await Task <int> .Run(() => _addToCartActions.AddToCart(addToCartEntity));

                if (result <= 0)
                {
                    return(BadRequest("Failed to add to cart, Please try again later."));
                }
            }
            return(Ok("Items Added to Cart successfully"));
        }
Ejemplo n.º 3
0
        private decimal TotalPrice(AddToCartEntity cartEntity)
        {
            decimal sum = 0;

            foreach (OrderMenus orderMenu in cartEntity.OrderMenuDetails)
            {
                sum += orderMenu.Price;
            }
            return(sum);
        }
Ejemplo n.º 4
0
        public async Task <bool> IsValidRestaurantAsync(AddToCartEntity cartEntity, int UserId, string UserToken)
        {
            using (HttpClient httpClient = WebAPIClient.GetClient(UserToken, UserId, _connectionStrings.Value.RestaurantApiUrl))
            {
                HttpResponseMessage httpResponseMessage = await httpClient.GetAsync("api/ResturantDetail?RestaurantID=" + cartEntity.RestaurantId);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    string json = await httpResponseMessage.Content.ReadAsStringAsync();

                    RestaurantInformation restaurantInformation = JsonConvert.DeserializeObject <RestaurantInformation>(json);
                    if (restaurantInformation != null)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }