示例#1
0
        public IActionResult CreateOrUpdateFoodCategory(FoodCategoryVM foodCategoryVm)
        {
            var foodCategory = NHibernateHelperCore.GetSingleOrDefault <FoodCategory>(a => a.Id == foodCategoryVm.Id) ??
                               new FoodCategory()
            {
                Name = foodCategoryVm.Name,
                Id   = foodCategoryVm.Id
            };

            foodCategory.Name = foodCategoryVm.Name;
            NHibernateHelperCore.SaveOrUpdate <FoodCategory>(foodCategory);

            return(RedirectToAction("Index", "Home"));
        }
示例#2
0
        public ActionResult CreateOrUpdateFoodItemToExtra(FoodItemToExtraVM foodItemToExtraVm)
        {
            var foodItemToExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemToExtra>(a => a.Id == foodItemToExtraVm.Id) ?? new FoodItemToExtra();

            var foodItem      = NHibernateHelperCore.GetSingleOrDefault <FoodItem>(a => a.Id == foodItemToExtraVm.FoodItemId);
            var foodItemExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemExtra>(a => a.Id == foodItemToExtraVm.FoodItemExtraId);

            foodItemToExtra.FoodItem      = foodItem;
            foodItemToExtra.FoodItemExtra = foodItemExtra;

            NHibernateHelperCore.SaveOrUpdate(foodItemToExtra);

            return(RedirectToAction("Index", "FoodItemToExtra"));
        }
        public IActionResult PersonalArea(UserVM userVm)
        {
            if (!ModelState.IsValid)
            {
                return(View(userVm));
            }

            var user = NHibernateHelperCore.GetSingleOrDefault <User>(a => a.Id == userVm.Id);

            user.Name     = userVm.Name;
            user.Email    = userVm.Email;
            user.Password = userVm.Password;
            user.Role     = userVm.Role;
            NHibernateHelperCore.SaveOrUpdate <User>(user);
            return(RedirectToAction("PersonalArea", "Account"));
        }
        public IActionResult AddFoodItemToShoppingCart(int foodItemId)
        {
            var id       = int.Parse(User.Identity.Name);
            var foodItem = NHibernateHelperCore.GetSingleOrDefault <FoodItem>(a => a.Id == foodItemId);
            var user     = NHibernateHelperCore.GetSingleOrDefault <User>(a => a.Id == id);

            var shoppingCartFoodItem = NHibernateHelperCore.GetSingleOrDefault <ShoppingCartFoodItem>(a => a.FoodItem.Id == foodItem.Id && a.User.Id == user.Id) ??
                                       new ShoppingCartFoodItem
            {
                FoodItem = foodItem,
                User     = user
            };

            shoppingCartFoodItem.Count += 1;
            NHibernateHelperCore.SaveOrUpdate(shoppingCartFoodItem);

            return(Ok());
        }
示例#5
0
        public IActionResult Index(string txt, bool descending, SortFoodCategory sortOrder)
        {
            var result = NHibernateHelperCore.GetSingleOrDefault <User>(a => a.Email == "*****@*****.**");

            if (result == null)
            {
                var createAdmin = new User
                {
                    Name     = "Дмитрий",
                    Role     = Role.Admin,
                    Email    = "*****@*****.**",
                    Password = "******"
                };

                NHibernateHelperCore.SaveOrUpdate(createAdmin);
            }

            var foodsCategoriesVM = ViewModel(txt, descending, sortOrder);

            return(View(foodsCategoriesVM));
        }
示例#6
0
        public IActionResult CreateOrUpdateFoodItemExtra(FoodItemExtraVM foodItemExtraVm)
        {
            var foodCategory  = NHibernateHelperCore.GetSingleOrDefault <FoodCategory>(a => a.Id == foodItemExtraVm.FoodCategoryId);
            var foodItemExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemExtra>(a => a.Id == foodItemExtraVm.Id) ??
                                new FoodItemExtra()
            {
                Name         = foodItemExtraVm.Name,
                Id           = foodItemExtraVm.Id,
                Price        = foodItemExtraVm.Price,
                FoodCategory = foodCategory
            };

            foodItemExtra.Name  = foodItemExtraVm.Name;
            foodItemExtra.Price = foodItemExtraVm.Price;

            NHibernateHelperCore.SaveOrUpdate(foodItemExtra);

            return(RedirectToAction("Index", "FoodItemExtra", new
            {
                id = foodItemExtraVm.FoodCategoryId
            }));
        }
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = NHibernateHelperCore.GetSingleOrDefault <User>(r => r.Email == model.Email);

            if (user == null)
            {
                user = NHibernateHelperCore.SaveOrUpdate(new User {
                    Email = model.Email, Password = model.Password, Role = Role.User, Name = model.Name
                });

                await Authenticate(user);

                return(RedirectToAction("Index", "Home"));
            }

            ModelState.AddModelError("", "Некорректные логин и(или) пароль");
            return(View(model));
        }
        public IActionResult RemoveItemToShoppingCart(int foodItemId)
        {
            var id       = int.Parse(User.Identity.Name);
            var foodItem = NHibernateHelperCore.GetSingleOrDefault <FoodItem>(a => a.Id == foodItemId);
            var user     = NHibernateHelperCore.GetSingleOrDefault <User>(a => a.Id == id);

            if (foodItem == null || user == null)
            {
                return(BadRequest());
            }

            var shoppingCartFoodItem = NHibernateHelperCore.GetSingleOrDefault <ShoppingCartFoodItem>(a => a.FoodItem.Id == foodItem.Id && a.User.Id == user.Id);

            if (shoppingCartFoodItem.Count == 1)
            {
                return(DeleteItemToShoppingCart(shoppingCartFoodItem.Id));
            }

            shoppingCartFoodItem.Count -= 1;

            NHibernateHelperCore.SaveOrUpdate(shoppingCartFoodItem);

            return(Ok());
        }