public ActionResult Index() { DrinksViewModel dvm = new DrinksViewModel(); dvm.Drinks = Drinks.Get_AllDrinks(); return(View(dvm)); }
public IActionResult List(string category) { IEnumerable <Drink> drinks; string currentCategory = string.Empty; if (string.IsNullOrEmpty(category)) { drinks = _drinkRepository.Drinks.OrderBy(d => d.DrinkId); currentCategory = "All Drink"; } else { if (string.Equals("Alcoholic", category, StringComparison.OrdinalIgnoreCase)) { drinks = _drinkRepository.Drinks .Where(p => p.Category.CategoryName == "Alcoholic").OrderBy(p => p.Name); } else { drinks = _drinkRepository.Drinks .Where(p => p.Category.CategoryName == "Non-alcoholic").OrderBy(p => p.Name); } currentCategory = category; } var model = new DrinksViewModel() { Drinks = drinks, CurrentCategory = currentCategory }; return(View(model)); }
public ActionResult Index(DrinksViewModel model) { if (ModelState.IsValid) { if (model.SelectedDrink != null) { var selectedDrink = _context.GetCachedDrinks().FirstOrDefault(x => x.ID == model.SelectedDrink); var updatedStocks = BusinessUtilities.UpdateStocksByDrinkPurchased(_context.GetCachedStocks(), selectedDrink); foreach (var stock in updatedStocks) { _context.AddOrUpdateStock(stock); } model.IsSubmitSuccessful = true; _context.AddOrderHistory ( new OrderHistory() { DrinkName = selectedDrink.Name, OrderTime = DateTime.Now } ); } model.AvailableDrinks = BusinessUtilities.FilterDrinksByStocks(_context.GetCachedDrinks(), _context.GetCachedStocks()); } return(View(model)); }
public IActionResult SearchByIngredients(string searchString, int?pageNumber, string searchCondition = "any") { var drinks = _drinkRepository.GetAllDrinks(); if (!string.IsNullOrEmpty(searchString)) { Task.Run(() => _apiService.CreateUserActivity(PerformedAction.SearchByIngredients, this.User.Identity.Name, searchedPhrase: searchString)); var searchDrinkIngredientsCondition = searchCondition.Equals("all") ? SearchDrinkOption.All : SearchDrinkOption.Any; drinks = _drinkSearchService.SearchByIngredients(new SortedSet <string>(searchString.Split(' ')), searchDrinkIngredientsCondition); } ViewData["SearchString"] = searchString; ViewData["SearchCondition"] = searchCondition; ViewData["SearchType"] = "SearchByIngredients"; var model = new DrinksViewModel { Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks, pageNumber ?? 1, _pageSize) }; return(View(model)); }
public GoodsButtonControl() { _template = (ControlTemplate)XamlReader.Parse("<ControlTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' TargetType=\"Button\"><Border Name=\"brdr\" BorderBrush=\"Black\" BorderThickness=\"1\"><Grid><Image x:Name=\"ibtn\" Stretch=\"None\" VerticalAlignment=\"Center\" HorizontalAlignment=\"Center\"><Image.Style><Style TargetType=\"{x:Type Image}\"></Style></Image.Style></Image><Label x:Name=\"tbtn\" VerticalAlignment=\"Top\" HorizontalAlignment=\"Right\" Margin=\"0,-4,-1,0\" /></Grid></Border><ControlTemplate.Triggers><Trigger Property=\"IsMouseOver\" Value=\"true\"><Setter TargetName=\"brdr\" Property=\"BorderThickness\" Value=\"2\" /><Setter TargetName=\"brdr\" Property=\"BorderBrush\" Value=\"Cyan\" /><Setter TargetName=\"tbtn\" Property=\"Margin\" Value=\"0,-5,-2,0\" /></Trigger></ControlTemplate.Triggers></ControlTemplate>"); DrinksViewModel model = new DrinksViewModel(ResourceLoadHelper.GetLocalString("GoodsDescription")).BindToMainModel(); int count = model.Drinks.Count(); ScrollableWidth = (count > 6 ? Math.Ceiling((double)count / 2) : 3) * 102; InitializeComponent(); Drinks.Header = ResourceLoadHelper.GetLocalString("DrinksGroup"); DataContext = model; foreach (Product p in model.Drinks) { Button b = new Button(); model.SetToolTip(p.id, p.quantity, p.price, ResourceLoadHelper.GetLocalName(p.locals), b); model.SetTemplate(p.id, _template); model.DrinkButton[p.id].PropertyChanged += Template_PropertyChanged; Binding toolTip = new Binding(string.Format("DrinkButton[{0}].ToolTip", p.id)); toolTip.Source = model; toolTip.Mode = BindingMode.OneWay; b.SetBinding(Button.ToolTipProperty, toolTip); Binding Visible = new Binding(string.Format("DrinkButton[{0}].Visible", p.id)); Visible.Source = model; Visible.Mode = BindingMode.OneWay; b.SetBinding(Button.VisibilityProperty, Visible); Binding Template = new Binding(string.Format("DrinkButton[{0}].Template", p.id)); Template.Source = model; Template.Mode = BindingMode.OneWay; b.SetBinding(Button.TemplateProperty, Template); b.CommandParameter = p.id; Binding cmd = new Binding(); cmd.Source = model; cmd.Path = new PropertyPath("PurchaseCommand"); b.SetBinding(Button.CommandProperty, cmd); b.Width = 100; b.Height = 100; b.Margin = new Thickness(0, 0, 2, 2); Image rimg = ResourceLoadHelper.GetDrinksButtonImage(new Size(96, 96), (Color)ColorConverter.ConvertFromString(p.color), p.type); b.AddHandler(LoadedEvent, new RoutedEventHandler((object s, RoutedEventArgs e) => { Button btn = s as Button; if (btn.Template != null) { Label text = btn.Template.FindName("tbtn", btn) as Label; text.Foreground = new SolidColorBrush(p.parsedColor.R + p.parsedColor.G + p.parsedColor.B > 381 ? (Color)ColorConverter.ConvertFromString("Black") : (Color)ColorConverter.ConvertFromString("White")); text.FontWeight = FontWeights.Bold; Binding quantityInfo = new Binding("quantity"); quantityInfo.Source = p; quantityInfo.Mode = BindingMode.OneWay; text.SetBinding(Label.ContentProperty, quantityInfo); Image img = btn.Template.FindName("ibtn", btn) as Image; Style simg = new Style(typeof(Image)); img.Style.Setters.ToList().ForEach(x => simg.Setters.Add(x)); simg.Setters.Add(new Setter(Image.SourceProperty, rimg.Source)); img.Style = simg; } })); DrinksContainer.Children.Add(b); } model.DisposeRequest += Dispose; }
public DrinksPage() { InitializeComponent(); _drinksViewModel = new DrinksViewModel(new DrinksService()); // Connecting context of this page to the our View Model class BindingContext = _drinksViewModel; }
public IActionResult FavouriteDrinks(int?pageNumber) { var drinks = _favouriteRepository.GetUserFavouriteDrinks(_userManager.GetUserId(User)); var model = new DrinksViewModel { Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks, pageNumber ?? 1, _pageSize) }; return(View(model)); }
public IActionResult Index(int?pageNumber) { Task.Run(() => _apiService.CreateUserActivity(PerformedAction.AllDrinks, this.User.Identity.Name)); var drinks = _drinkRepository.GetAllDrinks().OrderBy(x => x.Name); var model = new DrinksViewModel { Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks, pageNumber ?? 1, _pageSize) }; return(View(model)); }
public ActionResult Index() { var availableDrinks = BusinessUtilities.FilterDrinksByStocks(_context.GetCachedDrinks(), _context.GetCachedStocks()); var drinksViewModel = new DrinksViewModel() { AvailableDrinks = availableDrinks, IsSubmitSuccessful = false }; return(View(drinksViewModel)); }
public IActionResult Index() { ViewBag.Title = "Drinks World"; var drinks = _drinksRepostiory.GetAllDrinks().OrderBy(d => d.Name); var drinksViewModel = new DrinksViewModel() { Drinks = drinks.ToList(), Title = "Welcome to our drinks menu" }; return(View(drinksViewModel)); }
public void Dispose() { DrinksViewModel model = DataContext as DrinksViewModel; //if (model != null) //{ model.DrinkButton.ToList().ForEach(x => { if (x.Value != null) { x.Value.PropertyChanged -= Template_PropertyChanged; } }); model.DisposeRequest -= Dispose; //} }
public IActionResult ManagerDrinks() { IEnumerable <Drink> drinks; drinks = _drinkRepository.Drinks.OrderBy(d => d.DrinkId); var model = new DrinksViewModel() { Drinks = drinks, CurrentCategory = "All Drink" }; return(View(model)); }
public IActionResult SearchByAlcoholContent(int?pageNumber, bool alcoholics = true, bool nonAlcoholics = true, bool optionalAlcoholics = true) { ViewData["Alcoholics"] = alcoholics; ViewData["nonAlcoholics"] = nonAlcoholics; ViewData["optionalAlcoholics"] = optionalAlcoholics; var drinks = _drinkSearchService .SearchByAlcoholContent(alcoholics, nonAlcoholics, optionalAlcoholics); //Model saves alcoholic content info passed by controller to save //user choices while going through PaginatedList pages var model = new DrinksViewModel { Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks, pageNumber ?? 1, _pageSize), Alcoholics = alcoholics, NonAlcoholics = nonAlcoholics, OptionalAlcoholics = optionalAlcoholics }; return(View(model)); }
public IActionResult SearchByName(string searchString, int?pageNumber) { var drinks = _drinkRepository.GetAllDrinks(); if (!string.IsNullOrEmpty(searchString)) { Task.Run(() => _apiService.CreateUserActivity(PerformedAction.SearchByName, this.User.Identity.Name, searchedPhrase: searchString)); drinks = _drinkSearchService.SearchByName(searchString); } ViewData["SearchString"] = searchString; ViewData["SearchType"] = "SearchByName"; var model = new DrinksViewModel { Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks.AsEnumerable(), pageNumber ?? 1, _pageSize) }; return(View(model)); }
public DrinksView() { InitializeComponent(); BindingContext = new DrinksViewModel(); }