//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 })); } }
/* -------------------- 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")); } }
/* -------------------- 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)); }
/* -------------------- 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)); }