//public async Task<IActionResult> UpdateDataAsync (string gId, string gName, int gAmmount, Grocery gModel) public async Task <IActionResult> UpdateData(string gId, string gName, int gAmmount, Grocery gModel) { if (string.IsNullOrEmpty(gId) || string.IsNullOrEmpty(gName) || string.IsNullOrEmpty(gModel.Measure)) { return(BadRequest()); } var guid = Guid.Parse(gId); var lst = new List <Grocery> (); try { Grocery grocery = DynamoDbCRUDOperations.GetItemsById(guid).Result; lst.Add(grocery); Grocery updatedData = new Grocery { Ammount = gAmmount, DateModified = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()), GroceyName = gName, Id = guid, Measure = gModel.Measure, Done = grocery.Done, }; await DynamoDbCRUDOperations.UpdateItemAsync(lst, updatedData); return(RedirectToAction("Index", "Home", null)); } catch (Exception ex) { throw ex; } }
//[Route("/",Name = "ToggleDone")] //public async Task<IActionResult> ToggleDoneAsync (Grocery gId) public async Task <IActionResult> ToggleDone(Grocery gId) { if (gId.Id == null) { return(BadRequest()); } var guid = gId.Id; var lst = new List <Grocery> (); try { Grocery grocery = DynamoDbCRUDOperations.GetItemsById(guid).Result; lst.Add(grocery); Grocery updatedData = new Grocery { Ammount = grocery.Ammount, DateModified = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()), GroceyName = grocery.GroceyName, Id = guid, Measure = grocery.Measure, Done = !grocery.Done, }; await DynamoDbCRUDOperations.UpdateItemAsync(lst, updatedData); return(RedirectToAction("Index", "Home", null)); } catch (Exception ex) { throw ex; } }
//public async Task<IActionResult> DeleteItemAsync (Grocery gId) public async Task <IActionResult> DeleteItem(Grocery gId) { if (gId.Id == null) { return(BadRequest()); } var guid = gId.Id; try { Grocery grocery = DynamoDbCRUDOperations.GetItemsById(guid).Result; if (grocery != null) { await DynamoDbCRUDOperations.DeleteItemAsync(guid); return(RedirectToAction("Index", "Home", null)); } else { return(BadRequest()); } } catch (Exception ex) { throw ex; } }
//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; } }
public async Task <IActionResult> Edit(string Id) { var guid = Guid.Parse(Id); var results = await DynamoDbCRUDOperations.GetItemsById(guid); Grocery grocery = results; return(View(grocery)); }
public async Task <IActionResult> GetActiveItems() { var items = await DynamoDbCRUDOperations.GetDataAsync(); var activeItems = items.Where(x => x.Done == false); return(Json(activeItems, new JsonSerializerOptions { Encoder = JavaScriptEncoder.Create(UnicodeRanges.All), WriteIndented = true })); }
//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 })); } }
public HomeController(IAmazonDynamoDB amazonDBService) { DynamoDbCRUDOperations operations = new DynamoDbCRUDOperations(amazonDBService); //var groceries = DynamoDbCRUDOperations.GetDataAsync().Result; }