Example #1
0
        private void BtnAdd_Click(object sender, EventArgs e)
        {
            // Validations
            if (string.IsNullOrEmpty(txtItemName.Text) ||
                string.IsNullOrEmpty(txtItemPrice.Text) ||
                cbxItemCategory.SelectedIndex < 0)
            {
                MessageBox.Show("Məlumatları tam doldurun");
                return;
            }


            Models.MenuItem mItem = new Models.MenuItem();
            mItem.Name  = txtItemName.Text;
            mItem.Price = Convert.ToDouble(txtItemPrice.Text);

            string       catName      = cbxItemCategory.SelectedItem.ToString();
            MenuCategory menuCategory = _context.Categories.FirstOrDefault(c => c.Name == catName);


            mItem.CategoryId = menuCategory.Id;

            _context.MenuItems.Add(mItem);
            _context.SaveChanges();

            FillMenuItems();
        }
Example #2
0
 private async void SelectMenuItem(Models.MenuItem item)
 {
     if (item.IsEnabled)
     {
         await _navigationService.NavigateToAsync(item.ViewModelType, null);
     }
 }
 private async Task OnSelectItemAsync(Models.MenuItem item)
 {
     if (item.IsEnabled)
     {
         await NavigationService.NavigateToAsync(item.ViewModelType, item);
     }
 }
Example #4
0
        private void Reset()
        {
            txtNameMenuItem.Text  = "";
            txtPriceMenuItem.Text = "";

            selectedMenuItem = null;
        }
        private void BtnSaveMenuorder_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(numUpQuantity.Text.Trim()) ||
                string.IsNullOrEmpty(cmbxCustomerIdMenuorder.Text.Trim()) ||
                string.IsNullOrEmpty(cmbMenuitemMenuorder.Text.Trim())
                )
            {
                MessageBox.Show("Fill All Fields, Please");
                return;
            }

            MenuOrder menuOrder      = new MenuOrder();
            string    customFullname = cmbxCustomerIdMenuorder.SelectedItem.ToString();
            Customer  customer       = _context.Customers.FirstOrDefault(c => c.Firstname + " " + c.Lastname == customFullname);

            string selectedMenuItem = cmbMenuitemMenuorder.SelectedItem.ToString();

            Models.MenuItem menuItem = _context.MenuItems.FirstOrDefault(m => m.Name + " " + m.Price + " azn" == selectedMenuItem);

            menuOrder.CustomerId = customer.Id;
            menuOrder.Customer   = customer;
            menuOrder.MenuItemId = menuItem.Id;
            menuOrder.MenuItem   = menuItem;
            menuOrder.Quantity   = Convert.ToInt32(numUpQuantity.Text.Trim());
            menuOrder.Status     = true;

            orderitems.Add(menuOrder);

            FillGridView();
            //_context.MenuOrders.Add(menuOrder);
            //_context.SaveChanges();
        }
 public Entities.MenuItem MenuItemModelToEntity(Models.MenuItem menuItem)
 => new MapperConfiguration(cfg => cfg.CreateMap <Models.MenuItem,
                                                  Entities.MenuItem>()
                            .ForMember(dest => dest.Category, opt => opt.Ignore()))
 //.ForMember(dest => dest.Price, opt => opt.MapFrom(src =>
 //decimal.Parse(src.Price))))
 .CreateMapper()
 .Map <Entities.MenuItem>(menuItem);
        private void DgvMenuItems_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int selecteditemid = (int)dgvMenuItems.Rows[e.RowIndex].Cells[0].Value;

            selectedmenuitem      = context.menuItems.FirstOrDefault(a => a.id == selecteditemid);
            txtMenuItemName.Text  = selectedmenuitem.Name;
            txtMEnuItemPrice.Text = selectedmenuitem.Price.ToString();
        }
Example #8
0
        public void Reset()
        {
            txtItemName.Text              = "";
            txtItemPrice.Text             = "";
            cbxItemCategory.SelectedIndex = -1;

            selectedMenuItem = null;
        }
Example #9
0
 private async void MenuItemList_ItemTapped(object sender, ItemTappedEventArgs e)
 {
     if (e.Item != null)
     {
         Models.MenuItem menuItem = e.Item as Models.MenuItem;
         Page            instance = (Page)Activator.CreateInstance(menuItem.Page);
         await Navigation.PushAsync(instance);
     }
 }
Example #10
0
        private void DgvMenuItem_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int selectedItemId = (int)dgvMenuItem.Rows[e.RowIndex].Cells[0].Value;

            selectedMenuItem = _context.MenuItems.FirstOrDefault(m => m.Id == selectedItemId);

            txtNameMenuItem.Text  = selectedMenuItem.Name;
            txtPriceMenuItem.Text = selectedMenuItem.Price.ToString();
        }
Example #11
0
        private void SetMenuItemStatus(MenuItemType type, bool enabled)
        {
            Models.MenuItem menuItem = MenuItems.FirstOrDefault(m => m.MenuItemType == type);

            if (menuItem != null)
            {
                menuItem.IsEnabled = enabled;
            }
        }
Example #12
0
 public MenuItemViewModel(BaseViewModel parent, string header, ICommand command) : base(parent)
 {
     Models.MenuItem item = new Models.MenuItem()
     {
         Header = header
     };
     Model   = item;
     Command = command;
 }
Example #13
0
        public menuItemPage(Models.MenuItem item)
        {
            InitializeComponent();

            menuItem = item;

            miAddToOrder.Clicked += miAddToOrder_Clicked;

            mpRefillButton.Clicked     += mpRefillButton_Clicked;
            mpCallServerButton.Clicked += mpCallServerButton_Clicked;

            miItemTitle.Text       = (menuItem.isHot) ? menuItem.name + "🔥" : menuItem.name;
            miItemDescription.Text = menuItem.description;
            miItemNutrition.Text   = menuItem.nutrition;
            miItemPrice.Text       = menuItem.price.ToString("C");

            if (menuItem.category == "Entree")
            {
                itemPic.Source = "defaultEntree";
            }
            else if (menuItem.category == "Appetizer")
            {
                itemPic.Source = "defaultApp";
            }
            else if (menuItem.category == "Drink")
            {
                itemPic.Source = "defaultDrinks";
            }
            else if (menuItem.category == "Sides")
            {
                itemPic.Source = "defaultSides";
            }
            else if (menuItem.category == "Dessert")
            {
                itemPic.Source = "defaultDessert";
            }

            try
            {
                if (menuItem.picture.Contains(',')) // Old images which contain commas
                {
                    string s = menuItem.picture.Split(',')[1];
                    itemPic.Source = ImageSource.FromStream(() => new System.IO.MemoryStream(Convert.FromBase64String(s)));
                }
                else // New images without commas
                {
                    string s = menuItem.picture;
                    itemPic.Source = ImageSource.FromStream(() => new System.IO.MemoryStream(Convert.FromBase64String((s))));
                }
            }
            catch (Exception ex)
            {
                // Can't do anything about this tbqh
                System.Diagnostics.Debug.WriteLine("Invalid picture. Message: " + ex.Message);
            }
        }
Example #14
0
        private void dgvMenuItems_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int selectedItemID = (int)dgvMenuItems.Rows[e.RowIndex].Cells[0].Value;

            selectedMenuItem = _context.MenuItems.FirstOrDefault(m => m.Id == selectedItemID);

            txtItemName.Text             = selectedMenuItem.Name;
            txtItemPrice.Text            = selectedMenuItem.Price.ToString();
            cbxItemCategory.SelectedItem = selectedMenuItem.Category.Name;
        }
Example #15
0
 public MenuItemViewModel(BaseViewModel parent, string header, ICommand command)
     : base(parent)
 {
     Models.MenuItem item = new Models.MenuItem()
     {
         Header = header
     };
     Model = item;
     Command = command;
 }
        private void DgvMenuOrder_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int id = (int)dgvMenuOrder.Rows[e.RowIndex].Cells[0].Value;

            selectedItemOrder = orderitems.FirstOrDefault(a => a.Id == id);
            Customer customer = _context.Customers.FirstOrDefault(b => b.Id == selectedItemOrder.CustomerId);

            cmbxCustomerIdMenuorder.SelectedItem = customer.Firstname + " " + customer.Lastname;

            Models.MenuItem menuItem = _context.MenuItems.FirstOrDefault(m => m.Id == selectedItemOrder.MenuItemId);
            cmbMenuitemMenuorder.SelectedItem = menuItem.Name + " " + menuItem.Price + " azn";
        }
        public void MapMenuItemModelToEntity(Models.MenuItem menuItemMod,
                                             Entities.MenuItem menuItemEnt)
        {
            var mapper = new MapperConfiguration(configure =>
                                                 configure.CreateMap <Models.MenuItem, Entities.MenuItem>()
                                                 .ForMember(dest => dest.Category, opt => opt.Ignore()))
                         //.ForMember(dest => dest.Price, opt => opt.MapFrom(src =>
                         //decimal.Parse(src.Price))))
                         .CreateMapper();

            mapper.Map(menuItemMod, menuItemEnt);
        }
 // GET: Comment
 // 打开一个具体菜品的相关评论,ID为菜品在数据库中的编号
 public ActionResult Details(int?id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     Models.MenuItem menuItem = db.MenuItems.Find(id);
     if (menuItem == null)
     {
         return(HttpNotFound());
     }
     return(View(CommentUtils.GetCommentModel(menuItem)));
 }
Example #19
0
        public void Demo()
        {
            double sum   = 0;
            Order  order = _context.Orders.Include("OrderItems").FirstOrDefault(o => o.Id == 5);

            foreach (var item in order.OrderItems)
            {
                Models.MenuItem menuItem = _context.MenuItems.FirstOrDefault(m => m.Id == item.MenuItemId);
                sum += menuItem.Price * item.Quantity;
            }

            MessageBox.Show(sum.ToString());
        }
Example #20
0
        private void btnAddOrderItem_Click(object sender, EventArgs e)
        {
            OrderItem item = new OrderItem();

            string selectedItem = cbxMenuItems.SelectedItem.ToString();

            string[] selectedItemElements = selectedItem.Split('-');
            selectedItem = selectedItemElements[0].Trim();

            Models.MenuItem menuItem = _context.MenuItems.FirstOrDefault(m => m.Name == selectedItem);

            item.MenuItemId = menuItem.Id;
            item.Quantity   = (int)numericQuantity.Value;
            orderItems.Add(item);
        }
Example #21
0
        public async Task <IActionResult> Edit(MenuItemViewModel model)
        {
            if (model == null)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                model.SubCategoryList = await _db.SubCategory.Where(s => s.CategoryId == model.MenuItem.CategoryId).ToListAsync();

                return(View(model));
            }
            model.MenuItem.SubCategoryId = Convert.ToInt32(Request.Form["SubCategoryId"].ToString());
            Models.MenuItem menuItemFromDB = await _db.MenuItem.FindAsync(model.MenuItem.Id);

            // Image Saving
            string webRootPath = _hostingEnvironment.WebRootPath;
            var    files       = HttpContext.Request.Form.Files;

            if (files.Count() > 0) // use the uploaded files
            {
                var uploads   = Path.Combine(webRootPath, "images");
                var extension = Path.GetExtension(files[0].FileName);

                // delete original file
                var imagePath = Path.Combine(webRootPath, menuItemFromDB.Image.TrimStart('\\'));
                if (System.IO.File.Exists(imagePath))
                {
                    System.IO.File.Delete(imagePath);
                }

                using (var fileStream = new FileStream(Path.Combine(uploads, model.MenuItem.Id + extension), FileMode.Create))
                {
                    files[0].CopyTo(fileStream);
                }
                menuItemFromDB.Image = @"\images\" + menuItemFromDB.Id + extension;
            }
            menuItemFromDB.Name          = model.MenuItem.Name;
            menuItemFromDB.Description   = model.MenuItem.Description;
            menuItemFromDB.Price         = model.MenuItem.Price;
            menuItemFromDB.CategoryId    = model.MenuItem.CategoryId;
            menuItemFromDB.SubCategoryId = model.MenuItem.SubCategoryId;
            await _db.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
 private async void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
 {
     if (e.Item != null)
     {
         Models.MenuItem menuItem = e.Item as Models.MenuItem;
         if (menuItem.Page == null)
         {
             SecureStorage.Remove("username");
             SecureStorage.Remove("password");
             NotationStorageHelper.RemoveAll();
             Application.Current.MainPage = new LoginPage();
         }
         else
         {
             Page instance = (Page)Activator.CreateInstance(menuItem.Page);
             await Navigation.PushAsync(instance);
         }
     }
 }
Example #23
0
 private async void OnSelectMenuItem(Models.MenuItem item)
 {
     if (item.MenuItemType == MenuItemType.Concierge)
     {
         if (Device.RuntimePlatform == Device.UWP)
         {
             _openUrlService.OpenSkypeBot(AppSettings.SkypeBotId);
         }
         else
         {
             await OpenBotAsync();
         }
     }
     else if (item.IsEnabled && item.ViewModelType != null)
     {
         item.AfterNavigationAction?.Invoke();
         await NavigationService.NavigateToAsync(item.ViewModelType, item);
     }
 }
        private void BtnUpdateMenuorder_Click(object sender, EventArgs e)
        {
            if (selectedItemOrder == null)
            {
                return;
            }
            string cumbcost = cmbxCustomerIdMenuorder.SelectedItem.ToString();

            selectedcustomer = _context.Customers.FirstOrDefault(c => c.Firstname + " " + c.Lastname == cumbcost);

            string menu = cmbMenuitemMenuorder.SelectedItem.ToString();

            Models.MenuItem menuItem = _context.MenuItems.FirstOrDefault(m => m.Name + " " + m.Price + " azn" == menu);

            selectedItemOrder.Customer = selectedcustomer;
            selectedItemOrder.MenuItem = menuItem;

            _context.SaveChanges();

            FillGridView();
        }
Example #25
0
        public async Task <IActionResult> Create(MenuItemViewModel model)
        {
            model.MenuItem.SubCategoryId = Convert.ToInt32(Request.Form["SubCategoryId"].ToString());
            if (ModelState.IsValid)
            {
                await _db.MenuItem.AddAsync(model.MenuItem);

                await _db.SaveChangesAsync();

                Models.MenuItem menuItemFromDB = await _db.MenuItem.FindAsync(model.MenuItem.Id);

                // Image Saving
                string webRootPath = _hostingEnvironment.WebRootPath;
                var    files       = HttpContext.Request.Form.Files;
                var    extension   = ".png";

                if (files.Count() > 0) // use the uploaded files
                {
                    var uploads = Path.Combine(webRootPath, "images");
                    extension = Path.GetExtension(files[0].FileName);

                    using (var fileStream = new FileStream(Path.Combine(uploads, model.MenuItem.Id + extension), FileMode.Create))
                    {
                        files[0].CopyTo(fileStream);
                    }
                }
                else // no file was uploaded, so use default file
                {
                    var uploads = Path.Combine(webRootPath, @"images\" + StaticDetails.DefaultFoodImage);
                    System.IO.File.Copy(uploads, webRootPath + @"\images\" + model.MenuItem.Id + extension);
                }

                menuItemFromDB.Image = @"\images\" + menuItemFromDB.Id + extension;
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
Example #26
0
        public async Task <IActionResult> UpdateMenuItem(int menuItemId,
                                                         [FromBody] Models.MenuItem menuItemMod)
        {
            if (menuItemMod == null)
            {
                return(BadRequest());
            }

            var menuItemEnt = await _menuService.GetMenuItemAsync(menuItemId);

            if (menuItemEnt == null)
            {
                return(NotFound(new
                {
                    Error = $"A menu item with the ID '{menuItemId}'" +
                            $" could not be found."
                }));
            }

            TryValidateModel(menuItemMod);

            // Add validation
            if (!ModelState.IsValid)
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            _menuMapper.MapMenuItemModelToEntity(menuItemMod, menuItemEnt);

            _menuService.UpdateMenuItem(menuItemEnt);

            if (!await _menuService.SaveChangesAsync())
            {
                throw new Exception($"Error updating menu item '{menuItemEnt.Name}'.");
            }

            return(NoContent());
        }
Example #27
0
        public async Task <IActionResult> AddMenuItem([FromBody] Models.MenuItem menuItem)
        {
            if (menuItem == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(new UnprocessableEntityObjectResult(ModelState));
            }

            // Check if another menu category exists with specified name.
            if (await _menuService.MenuItemExistsAsync(menuItem.CategoryId, menuItem.Name))
            {
                return(Conflict(new
                {
                    Error = $"A menu item with the name '{menuItem.Name}' already exists."
                }));
            }

            // Map category model to entity.
            var menuItemEnt = _menuMapper.MenuItemModelToEntity(menuItem);

            _menuService.AddMenuItem(menuItemEnt);

            if (!await _menuService.SaveChangesAsync())
            {
                throw new Exception($"Could not save menu item '{menuItem.Name}'.");
            }

            // Map newly saved restaurant back to model.
            menuItem = _menuMapper.MenuItemEntityToModel(menuItemEnt);

            return(CreatedAtRoute("GetMenuItemById",
                                  new { menuItemId = menuItemEnt.Id },
                                  menuItem));
        }
Example #28
0
        private void BtnSaveMenuitem_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtNameMenuItem.Text.Trim()) ||
                string.IsNullOrEmpty(txtPriceMenuItem.Text.Trim()))
            {
                MessageBox.Show("Fill All Fields, Please");
                return;
            }

            Models.MenuItem menuItem = new Models.MenuItem();
            menuItem.Price  = decimal.Parse(txtPriceMenuItem.Text.Trim());
            menuItem.Name   = txtNameMenuItem.Text.Trim();
            menuItem.Status = true;
            _context.MenuItems.Add(menuItem);
            _context.SaveChanges();

            MessageBox.Show($"{menuItem.Name} {menuItem.Price}azn added");

            txtNameMenuItem.Text  = "";
            txtPriceMenuItem.Text = "";

            FillMenuItems();
        }
        public static IMenuItem DataModelFactory(string datalayer)
        {
            IMenuItem model;

            switch (datalayer.ToUpper())
            {
            case "DAL2":
                model = new Models.MenuItem();
                break;

            //case "EF":
            //    model = new EF.Item();
            //    break;

            //case "CI":
            //    model = new CI.Item();
            //    break;

            default:
                model = new Data.DAL.MenuItemDAL();
                break;
            }
            return(model);
        }
        public void OnItemTapped(Models.MenuItem item)
        {
            if (item.Target == "logout")
            {
                //_nav.PushAsync(new LoginPage(), true);
                return;
            }

            var page = Type.GetType(item.Target);

            if (page == null)
            {
                return;
            }

            var instance = (Page)Activator.CreateInstance(page);

            if (instance == null)
            {
                return;
            }

            _nav.PushAsync(instance, true);
        }
        private void BtnMenuItemAdd_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtMenuItemName.Text) &&
                string.IsNullOrEmpty(txtMEnuItemPrice.Text))
            {
                MessageBox.Show("Fill the banks");
                return;
            }
            try
            {
                Models.MenuItem newmenuitem = new Models.MenuItem();
                newmenuitem.Name   = txtMenuItemName.Text;
                newmenuitem.Price  = Convert.ToDecimal(txtMEnuItemPrice.Text);
                newmenuitem.Status = true;
                context.menuItems.Add(newmenuitem);

                context.SaveChanges();
                FillMenuItemsDataGridView();
            }
            catch (Exception exc)
            {
                MessageBox.Show($"{exc.Message}");
            }
        }