public IActionResult DeleteItemToShoppingCart(int shoppingCartFoodItemId)
        {
            var shoppingCartFoodItem = NHibernateHelperCore.GetSingleOrDefault <ShoppingCartFoodItem>(a => a.Id == shoppingCartFoodItemId);

            NHibernateHelperCore.DeleteEntities(shoppingCartFoodItem);
            return(Ok());
        }
示例#2
0
        public ActionResult CreateOrUpdateFoodItemToExtra(int id)
        {
            var foodItemToExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemToExtra>(a => a.Id == id);

            var foodItems = NHibernateHelperCore.GetEntities <FoodItem>()
                            .Select(a => new SelectListItem()
            {
                Value = a.Id.ToString(),
                Text  = a.Name
            }).ToList();

            var foodItemExtras = NHibernateHelperCore.GetEntities <FoodItemExtra>()
                                 .Select(a => new SelectListItem()
            {
                Value = a.Id.ToString(),
                Text  = a.Name
            }).ToList();

            var foodItemToExtraVM = new CreateOrUpdateFoodItemToExtraVM()
            {
                Id              = foodItemToExtra?.Id,
                FoodItemId      = foodItemToExtra?.FoodItem.Id,
                FoodItemExtraId = foodItemToExtra?.FoodItemExtra.Id,
                FoodItems       = foodItems,
                FoodItemExtras  = foodItemExtras
            };

            return(View(foodItemToExtraVM));
        }
        public ShoppingsCartFoodsItemsVM ViewModel()
        {
            var id = int.Parse(User.Identity.Name);

            ShoppingsCartFoodsItemsVM shoppingCartItemVM;

            using (var session = NHibernateHelperCore.OpenSession())
            {
                var items = session.Query <ShoppingCartFoodItem>()
                            .Where(a => a.User.Id == id)
                            .Select(a => new ShoppingCartFoodItemVM()
                {
                    Id         = a.Id,
                    Count      = a.Count,
                    UserId     = a.User.Id,
                    UserName   = a.User.Name,
                    Price      = a.FoodItem.Price,
                    FoodItemId = a.FoodItem.Id,
                    FoodName   = a.FoodItem.Name
                }).ToList();


                shoppingCartItemVM = new ShoppingsCartFoodsItemsVM()
                {
                    ShoppingCartFoodItem = items,
                    Admin = User.IsInRole(NHibernateHelperCore.RoleAdmin),
                    AllCountFoodsItems = items.Sum(a => a.Count)
                };
            }

            return(shoppingCartItemVM);
        }
示例#4
0
        public FoodsItemsExtraVM ViewModel(int id, bool descending, SortFoodItemExtra sortOrder)
        {
            var foodItemExtra = NHibernateHelperCore.GetEntities <FoodItemExtra>(a => a.FoodCategory.Id == id);

            var foodItemExtraVM = foodItemExtra.Select(a => new FoodItemExtraVM()
            {
                Id             = a.Id,
                Name           = a.Name,
                Price          = a.Price,
                FoodCategoryId = id
            }).ToList();

            foodItemExtraVM = sortOrder switch
            {
                SortFoodItemExtra.Name when !descending => foodItemExtraVM.OrderBy(s => s.Name).ToList(),
                SortFoodItemExtra.Name when descending => foodItemExtraVM.OrderByDescending(s => s.Name).ToList(),
                SortFoodItemExtra.Price when !descending => foodItemExtraVM.OrderBy(s => s.Price).ToList(),
                SortFoodItemExtra.Price when descending => foodItemExtraVM.OrderByDescending(s => s.Price).ToList(),
                _ => foodItemExtraVM.OrderByDescending(s => s.Name).ToList(),
            };

            var foodsItemsExtraVm = new FoodsItemsExtraVM()
            {
                FoodsItemsExtra = foodItemExtraVM,
                FoodCategoryId  = id,
                Descending      = descending,
                Sort            = sortOrder,
                Admin           = User.IsInRole(NHibernateHelperCore.RoleAdmin)
            };

            return(foodsItemsExtraVm);
        }
示例#5
0
        public ActionResult DeleteFoodItemToExtra(int id)
        {
            var delFoodItemToExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemToExtra>(a => a.Id == id);

            NHibernateHelperCore.DeleteEntities <FoodItemToExtra>(delFoodItemToExtra);

            return(RedirectToAction("Index", "FoodItemToExtra"));
        }
示例#6
0
        public ActionResult ConfirmDeleteFoodItemToExtra(int id)
        {
            var delFoodItemToExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemToExtra>(a => a.Id == id);
            var foodItemToExtraVm  = new FoodItemToExtraVM()
            {
                Id = delFoodItemToExtra.Id
            };

            return(View(foodItemToExtraVm));
        }
示例#7
0
        public ActionResult Index()
        {
            var foodItemToExtra   = NHibernateHelperCore.GetEntities <FoodItemToExtra>();
            var foodItemToExtraVM = foodItemToExtra.Select(a => new FoodItemToExtraVM()
            {
                Id = a.Id
            }).ToList();

            return(View(foodItemToExtraVM));
        }
示例#8
0
        public IActionResult ConfirmDeleteFoodCategory(int id)
        {
            var delFoodCategory = NHibernateHelperCore.GetSingleOrDefault <FoodCategory>(a => a.Id == id);
            var foodCategoryVM  = new FoodCategoryVM()
            {
                Name = delFoodCategory.Name,
                Id   = delFoodCategory.Id
            };

            return(View(foodCategoryVM));
        }
示例#9
0
        public IActionResult DeleteFoodItemExtra(int id, int foodCategoryId)
        {
            var delFoodItemExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemExtra>(a => a.Id == id);

            NHibernateHelperCore.DeleteEntities <FoodItemExtra>(delFoodItemExtra);

            return(RedirectToAction("Index", "FoodItemExtra", new
            {
                id = foodCategoryId
            }));
        }
示例#10
0
        public IActionResult ConfirmDeleteFoodItemExtra(int id)
        {
            var delFoodItemExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemExtra>(a => a.Id == id);
            var foodItemExtraVM  = new FoodItemExtraVM()
            {
                Name           = delFoodItemExtra.Name,
                Id             = delFoodItemExtra.Id,
                Price          = delFoodItemExtra.Price,
                FoodCategoryId = delFoodItemExtra.FoodCategory.Id
            };

            return(View(foodItemExtraVM));
        }
示例#11
0
        public IActionResult SearchAllEntities(string txt)
        {
            var foodItem      = NHibernateHelperCore.GetEntities <FoodItem>();
            var foodItemExtra = NHibernateHelperCore.GetEntities <FoodItemExtra>();

            AllItemsVM allItems;

            if (!string.IsNullOrWhiteSpace(txt))
            {
                txt      = txt.ToLower();
                allItems = new AllItemsVM()
                {
                    FoodsItems = foodItem.Where(compare => compare.Name.ToLower()
                                                .Contains(txt))
                                 .Select(a => new FoodItemVM()
                    {
                        Name  = a.Name,
                        Price = a.Price,
                        Id    = a.Id
                    }).ToList(),
                    FoodsItemsExtraVM = foodItemExtra.Where(compare => compare.Name.ToLower()
                                                            .Contains(txt))
                                        .Select(a => new FoodItemExtraVM()
                    {
                        Name  = a.Name,
                        Price = a.Price,
                        Id    = a.Id
                    }).ToList()
                };
            }
            else
            {
                allItems = new AllItemsVM()
                {
                    FoodsItems = foodItem.Select(a => new FoodItemVM()
                    {
                        Name  = a.Name,
                        Price = a.Price,
                        Id    = a.Id
                    }).ToList(),
                    FoodsItemsExtraVM = foodItemExtra.Select(a => new FoodItemExtraVM()
                    {
                        Name  = a.Name,
                        Price = a.Price,
                        Id    = a.Id
                    }).ToList()
                };
            }

            return(Json(allItems));
        }
示例#12
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"));
        }
示例#13
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"));
        }
示例#14
0
        public IActionResult CreateOrUpdateFoodCategory(int?id)
        {
            var            foodCategory = NHibernateHelperCore.GetSingleOrDefault <FoodCategory>(a => a.Id == id);
            FoodCategoryVM categoryVM;

            categoryVM = foodCategory == null ?
                         new FoodCategoryVM() :
                         new FoodCategoryVM()
            {
                Name = foodCategory.Name, Id = foodCategory.Id
            };

            return(View(categoryVM));
        }
示例#15
0
        public IActionResult PersonalArea()
        {
            var id = int.Parse(User.Identity.Name);

            var user   = NHibernateHelperCore.GetSingleOrDefault <User>(a => a.Id == id);
            var userVm = new UserVM
            {
                Id       = user.Id,
                Name     = user.Name,
                Role     = Role.User,
                Email    = user.Email,
                Password = user.Password
            };

            return(View(userVm));
        }
示例#16
0
        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"));
        }
示例#17
0
        public IActionResult CreateOrUpdateFoodItemExtra(int?id, int foodCategoryId)
        {
            var             foodItemExtra = NHibernateHelperCore.GetSingleOrDefault <FoodItemExtra>(a => a.Id == id);
            FoodItemExtraVM foodItemExtraVm;

            foodItemExtraVm = foodItemExtra == null ?
                              new FoodItemExtraVM() :
                              new FoodItemExtraVM()
            {
                Name           = foodItemExtra.Name,
                Id             = foodItemExtra.Id,
                Price          = foodItemExtra.Price,
                FoodCategoryId = foodCategoryId
            };

            return(View(foodItemExtraVm));
        }
        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());
        }
示例#19
0
        private FoodsCategoriesVM ViewModel(string txt, bool descending, SortFoodCategory sortOrder)
        {
            var foodCategory   = NHibernateHelperCore.GetEntities <FoodCategory>();
            var foodCategoryVM = new List <FoodCategoryVM>();

            if (!string.IsNullOrWhiteSpace(txt))
            {
                txt            = txt.ToLower();
                foodCategoryVM = foodCategory.Where(compare =>
                                                    compare.Name.ToLower().Contains(txt))
                                 .Select(a => new FoodCategoryVM()
                {
                    Name = a.Name,
                    Id   = a.Id
                }).ToList();
            }
            else
            {
                foodCategoryVM = foodCategory.Select(a => new FoodCategoryVM()
                {
                    Name = a.Name,
                    Id   = a.Id
                }).ToList();
            }

            foodCategoryVM = sortOrder switch
            {
                SortFoodCategory.Name when !descending => foodCategoryVM.OrderBy(s => s.Name).ToList(),
                SortFoodCategory.Name when descending => foodCategoryVM.OrderByDescending(s => s.Name).ToList(),
                _ => foodCategoryVM.OrderByDescending(s => s.Name).ToList(),
            };

            var foodsCategoriesVM = new FoodsCategoriesVM()
            {
                FoodsCategories = foodCategoryVM,
                Descending      = descending,
                Sort            = sortOrder,
                Admin           = User.IsInRole(NHibernateHelperCore.RoleAdmin)
            };

            return(foodsCategoriesVM);
        }
示例#20
0
        public async Task <IActionResult> Login(LoginModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = NHibernateHelperCore.GetSingleOrDefault <User>(u => u.Email == model.Email && u.Password == model.Password);

            if (user != null)
            {
                await Authenticate(user);

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

            ModelState.AddModelError("", "Некорректные логин и(или) пароль");

            return(View(model));
        }
示例#21
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));
        }
示例#22
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
            }));
        }
示例#23
0
        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));
        }
示例#24
0
        public IActionResult DeleteFoodCategory(int id)
        {
            var delFoodCategory = NHibernateHelperCore.GetSingleOrDefault <FoodCategory>(a => a.Id == id);
            var foodItem        = NHibernateHelperCore.GetEntities <FoodItem>(a => a.FoodCategory.Id == id);
            var foodItemExtra   = NHibernateHelperCore.GetEntities <FoodItemExtra>(a => a.FoodCategory.Id == id);

            if (foodItem.Count != 0 && foodItemExtra.Count != 0)
            {
                foreach (var delFoodItem in foodItem)
                {
                    NHibernateHelperCore.DeleteEntities <FoodItem>(delFoodItem);
                }

                foreach (var delFoodItemExtra in foodItemExtra)
                {
                    NHibernateHelperCore.DeleteEntities <FoodItemExtra>(delFoodItemExtra);
                }
            }

            NHibernateHelperCore.DeleteEntities <FoodCategory>(delFoodCategory);

            return(RedirectToAction("Index", "Home"));
        }
        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());
        }