public ActionResult GetMenuItems(int page, int rows, string sidx, string sord)
        {
            try
            {
                var result        = _menuItemRepository.Get().ToList();
                var totalRowCount = result.Count;

                return(Json(new
                {
                    page = page,
                    total = Math.Ceiling((decimal)totalRowCount / rows),
                    records = totalRowCount,
                    rows = result
                }));
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                return(Json(null));
            }
            finally
            {
            }

            //return View(_menuItemRepository.Get());
        }
Пример #2
0
        public async Task <IActionResult> ExecuteAsync(int menuItemId, SaveMenuItem saveMenuItem, CancellationToken cancellationToken)
        {
            var menuItem = await _menuItemRepository.Get(menuItemId, cancellationToken);

            if (menuItem == null)
            {
                return(new NotFoundResult());
            }
            _saveMenuItemToMenuItemMapper.Map(saveMenuItem, menuItem);

            var listMenuItemId = await getListMenuItemId(new List <int>(), menuItem.Id, cancellationToken);

            var menuItems = await _menuItemRepository.GetMenuItemsByListId(listMenuItemId, cancellationToken);

            //var user = _httpContextAccessor.HttpContext.User;
            //if (user == null)
            //    return new NotFoundResult();

            //var claims = user.Claims.ToList();
            //if (claims.Count < 1)
            //    return new NotFoundResult();
            //// Lấy Id của người dùng
            //var userId = claims.FirstOrDefault(claimRecord => claimRecord.Type == "sub").Value;

            foreach (var item in menuItems)
            {
                item.Active = saveMenuItem.Active;
                //item.ModifiedBy = userId;
                await _menuItemRepository.Update(item, cancellationToken);
            }
            var menuItemViewModel = _menuItemToMenuItemMapper.Map(menuItem);

            return(new OkObjectResult(menuItemViewModel));
        }
        public MenuItem GetMenuItem(int id)
        {
            Condition.WithExceptionOnFailure <InvalidParameterException>()
            .Requires(_menuItemRepository, "_menuItemRepository")
            .IsNotNull();

            return(_menuItemRepository.Get(id));
        }
        public async Task <IActionResult> ExecuteAsync(int menuItemId, CancellationToken cancellationToken)
        {
            var menuItem = await _menuItemRepository.Get(menuItemId, cancellationToken);

            if (menuItem == null)
            {
                return(new NoContentResult());
            }

            var listMenuItemId = await getListMenuItemId(new List <int>(), menuItem.Id, cancellationToken);

            var menuItems = await _menuItemRepository.GetMenuItemsByListId(listMenuItemId, cancellationToken);

            await _menuItemRepository.DeleteRange(menuItems, cancellationToken);

            return(new NoContentResult());
        }
Пример #5
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var menuItem = _repository.Get(id);

            if (menuItem == null)
            {
                return(HttpNotFound());
            }
            if (!Request.IsAjaxRequest())
            {
                return(RedirectToAction("Index"));
            }
            _repository.Delete(menuItem);
            _repository.Save();
            return(Json("", JsonRequestBehavior.AllowGet));
        }
        public IActionResult Index(int Id = 0)
        {
            var menuItem = new MenuItem_VM();

            ViewBag.Currency     = new SelectList(_currencyRepository.GetByClientId(clientId), "Id", "Currency");
            ViewBag.ConceptsList = new SelectList(conceptsList, "Id", "ConceptName");
            if (Id > 0)
            {
                menuItem = _menuItemRepository.Get(Id, this.loginUserId, isAdmin);
                if (menuItem == null)
                {
                    return(RedirectToAction("List", "MenuItem"));
                }
                else
                {
                    categoryList       = _categoryRepository.GetList(this.loginUserId, isAdmin).Where(p => p.CategoryConcepts.Any(c => menuItem.ConceptIds.Any(c2 => c2 == c.Id))).ToList();
                    itemTagList        = _itemTagRepository.GetList(this.loginUserId, isAdmin).Where(p => p.ItemTagsConcepts.Any(c => menuItem.ConceptIds.Any(c2 => c2 == c.Id))).ToList();
                    ViewBag.Categories = new SelectList(categoryList, "Id", "Name");
                    ViewBag.ItemTags   = new SelectList(itemTagList, "Id", "Name");
                    return(View(menuItem));
                }
            }
            else
            {
                if (conceptsList.Any())
                {
                    if (SelectedConceptId > 0)
                    {
                        menuItem.ConceptIds = new List <int>()
                        {
                            conceptsList.Where(x => x.Id == SelectedConceptId).Select(x => x.Id).FirstOrDefault()
                        };
                        categoryList = _categoryRepository.GetList(this.loginUserId, isAdmin).Where(x => x.Status && x.CategoryConcepts.Any(x => x.Id == SelectedConceptId)).ToList();
                        itemTagList  = _itemTagRepository.GetList(this.loginUserId, isAdmin).Where(x => x.Status && x.ItemTagsConcepts.Any(x => x.Id == SelectedConceptId)).ToList();
                    }
                    else
                    {
                        menuItem.ConceptIds = new List <int>()
                        {
                            conceptsList[0].Id
                        };
                        categoryList = _categoryRepository.GetList(this.loginUserId, isAdmin).Where(x => x.Status && x.CategoryConcepts.Any(x => x.Id == conceptsList[0].Id)).ToList();
                        itemTagList  = _itemTagRepository.GetList(this.loginUserId, isAdmin).Where(x => x.Status && x.ItemTagsConcepts.Any(x => x.Id == conceptsList[0].Id)).ToList();
                    }
                }

                ViewBag.Categories = new SelectList(categoryList, "Id", "Name");
                ViewBag.ItemTags   = new SelectList(itemTagList, "Id", "Name");

                ViewData["Title"] = "Add";
                return(View(menuItem));
            }
        }
        public async Task <IActionResult> ExecuteAsync(int menuItemId, CancellationToken cancellationToken)
        {
            var menuItem = await _menuItemRepository.Get(menuItemId, cancellationToken);

            if (menuItem == null)
            {
                return(new NoContentResult());
            }

            var menuViewModel = _menuItemMapper.Map(menuItem);

            return(new OkObjectResult(menuViewModel));
        }
Пример #8
0
        public ActionResult <CheckoutBasket> Add([FromBody] int id)
        {
            var menuItem = _menuItemRepository.Get(id);

            if (menuItem == null)
            {
                return(NotFound());
            }

            var checkOutBasket = GetCheckOutBasket();

            if (!checkOutBasket.BasketItems.Any(x => x.MenuItem.Equals(menuItem)))
            {
                var checkoutBasketItem = new CheckoutBasketItem(menuItem);
                checkOutBasket.BasketItems.Add(checkoutBasketItem);
            }
            else
            {
                checkOutBasket.BasketItems.First(x => x.MenuItem == menuItem).Quantity++;
            }
            SaveCheckoutBasket(checkOutBasket);
            return(GetCheckOutBasket());
        }
        public ActionResult SaveMenuItemRelation(MenuItemRelationAdminVm <int> vm, string oper)
        {
            try
            {
                if (oper.Equals("del"))
                {
                    _menuRelationRepository.Delete(vm.Id);
                    return(Json(new { success = 1 }));
                }
                var menuItem = _menuItemRepository.Get()
                               .Single(it => it.Code.Equals(vm.MenuCode, StringComparison.OrdinalIgnoreCase));
                var routeName     = _routeNameRepository.Get().Single(it => it.Code.Equals(vm.RouteCode, StringComparison.OrdinalIgnoreCase));
                var relationGroup = _menuItemRelationGroupRepository.Get().Single(it => it.Code.Equals(vm.MenuItemRelationGroupCode, StringComparison.OrdinalIgnoreCase));
                var menuRelation  = new RoleMenuItemRelation
                {
                    Id                      = vm.Id,
                    IsDocked                = vm.IsDocked,
                    RouteNameId             = routeName.Id,
                    MenuItemRelationGroupId = relationGroup.Id,
                    MenuItemId              = menuItem.Id,
                };
                if (vm.RoleName != "Is public menu" && !string.IsNullOrEmpty(vm.RoleName))
                {
                    menuRelation.Role = new Role
                    {
                        Name = vm.RoleName
                    }
                }
                ;

                _menuRelationRepository.Save(menuRelation);
                return(Json(new { success = 1 }));
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                return(Json(new { success = false }));
            }
            finally
            {
            }
        }
Пример #10
0
        public bool Checkout(Order order)
        {
            var listCart = _cartRepository.GetCart(order.CustomerID);

            order.OrderStatusId = _orderStatusRepository.GetByName("Pending").Id;
            if (listCart.Count == 0)
            {
                return(false);
            }

            _orderRepository.Add(order);
            if (!_orderRepository.Save())
            {
                return(false);
            }
            decimal totalCost = 0;

            foreach (var cart in listCart)
            {
                var menuItem    = _menuItemRepository.Get(cart.MenuItemId.Value);
                var orderDetail = new OrderDetail()
                {
                    OrderId    = order.Id,
                    MenuItemId = menuItem.Id,
                    UnitCost   = menuItem.Price.Value,
                    Quantity   = cart.Count.Value,
                };
                totalCost += menuItem.Price.Value * cart.Count.Value;
                _cartRepository.Delete(cart);
                _orderDetailsRepository.Add(orderDetail);
            }
            order.Total = totalCost;

            _cartRepository.Save();
            _orderDetailsRepository.Save();
            order.Total = totalCost;
            return(_orderRepository.Update(order));
        }
Пример #11
0
 public MenuItem Get(long id)
 {
     return(_menuItemRepository.Get(id));
 }