//public async Task<IActionResult> AddNewGroceryAsync (string gName, int gAmmount, GroceryViewModel gModel)
        public async Task <IActionResult> AddNewGrocery(string gName, int gAmmount, GroceryViewModel gModel)
        {
            if (string.IsNullOrEmpty(gName) || string.IsNullOrEmpty(gModel.NewGrocery.Measure))
            {
                return(BadRequest());
            }

            var guid = Guid.NewGuid();

            try
            {
                Grocery newGrocery = new Grocery
                {
                    Ammount      = gAmmount,
                    DateModified = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()),
                    GroceyName   = gName,
                    Id           = guid,
                    Measure      = gModel.NewGrocery.Measure,
                    Done         = false
                };

                await DynamoDbCRUDOperations.AddItemAsync(newGrocery);

                return(RedirectToAction("Index", "Home", null));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        //IAmazonDynamoDB AWSDBclient { get; set; }
        //private const string tableName = "ShechterShoppingList";
        //public DynamoDBContext DBContext { get; set; }

        public async Task <IActionResult> Index(Grocery grocery)
        {
            try
            {
                if (string.IsNullOrEmpty(grocery.GroceyName))
                {
                    var results = await DynamoDbCRUDOperations.GetDataAsync();

                    var groceries = results;
                    GroceryViewModel viewModel = new GroceryViewModel {
                        Groceries = groceries
                    };

                    return(View("Index", viewModel));
                }
                return(View());
            }
            catch (Exception e)
            {
                return(RedirectToAction("Error", "Home", new { message = e.Message }));
            }
        }
示例#3
0
        /* -------------------- Save -------------------- */

        public ActionResult SaveRecord(GroceryViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Grocery grocery = new Grocery
                {
                    MarketId   = viewModel.Grocery.MarketId,
                    CategoryId = viewModel.Grocery.CategoryId,
                    Item       = viewModel.Grocery.Item,
                    Quantity   = viewModel.Grocery.Quantity,
                };

                groceryRepository.AddGrocery(grocery);
                groceryRepository.SaveGrocery();

                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
示例#4
0
        /* -------------------- Main -------------------- */

        public ActionResult Index()
        {
            // load list of markets and grocery categories to dropdowns
            GroceryViewModel gvm = new GroceryViewModel();


            gvm.MarketList = groceryRepository.GetMarkets()
                             .OrderBy(x => x.MarketName)
                             .Select(x => new SelectListItem
            {
                Value = x.Id.ToString(),
                Text  = x.MarketName
            });

            gvm.CategoryList = groceryRepository.GetGroceryCategories()
                               .Select(x => new SelectListItem
            {
                Value = x.Id.ToString(),
                Text  = x.Category
            });
            return(View(gvm));
        }
示例#5
0
        /* -------------------- Populate list of items -------------------- */

        public PartialViewResult LoadGroceryList()
        {
            List <GroceryViewModel> groceryList = new List <GroceryViewModel>();

            // get data from db, query desired data, send to viewmodel
            var groceries  = groceryRepository.GetGroceries();
            var markets    = groceryRepository.GetMarkets();
            var categories = groceryRepository.GetGroceryCategories();

            var query = (from g in groceries
                         join m in markets
                         on g.MarketId equals m.Id
                         join c in categories
                         on g.CategoryId equals c.Id
                         select new
            {
                g.Id,
                g.Item,
                g.Quantity,
                m.MarketName,
                c.Category
            }).ToList();

            // loop through each record in db and store in vm
            foreach (var item in query)
            {
                GroceryViewModel gvm = new GroceryViewModel();
                gvm.MarketName = item.MarketName;
                gvm.Category   = item.Category;
                gvm.Id         = item.Id;
                gvm.Item       = item.Item;
                gvm.Quantity   = item.Quantity;
                groceryList.Add(gvm);
            }

            return(PartialView("_Groceries", groceryList));
        }