public async Task <IActionResult> Edit(Guid id, OrderRowCreateEditViewModel vm) { if (id != vm.OrderRow.Id) { return(NotFound()); } if (ModelState.IsValid) { try { await _bll.OrderRows.UpdateAsync(vm.OrderRow); await _bll.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrderRowExists(vm.OrderRow.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } vm.Items = new SelectList(await _bll.Items.GetAllAsync(), nameof(Item.Id), nameof(Item.Name), vm.OrderRow.ItemId); vm.Orders = new SelectList(await _bll.Orders.GetAllAsync(), nameof(Order.Id), nameof(Order.Id), vm.OrderRow.OrderId); return(View(vm)); }
// GET: OrderRows/Create public IActionResult Create() { var vm = new OrderRowCreateEditViewModel { Items = new SelectList(_bll.Items.GetAll(), nameof(Item.Id), nameof(Item.Name)), Orders = new SelectList(_bll.Orders.GetAll(), nameof(Order.Id), nameof(Order.Id)), }; return(View(vm)); }
public async Task <IActionResult> Create(OrderRowCreateEditViewModel vm) { if (ModelState.IsValid) { vm.OrderRow.Id = Guid.NewGuid(); _bll.OrderRows.Add(vm.OrderRow); await _bll.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } vm.Items = new SelectList(await _bll.Items.GetAllAsync(), nameof(Item.Id), nameof(Item.Name), vm.OrderRow.ItemId); vm.Orders = new SelectList(await _bll.Orders.GetAllAsync(), nameof(Order.Id), nameof(Order.Id), vm.OrderRow.OrderId); return(View(vm)); }
// GET: OrderRows/Edit/5 public async Task <IActionResult> Edit(Guid?id) { if (id == null) { return(NotFound()); } var userIdTKey = User.IsInRole("Admin") ? null : (Guid?)User.UserGuidId(); var vm = new OrderRowCreateEditViewModel { OrderRow = await _bll.OrderRows.FirstOrDefaultAsync(id.Value, userIdTKey) }; if (vm.OrderRow == null) { return(NotFound()); } vm.Items = new SelectList(await _bll.Items.GetAllAsync(), nameof(Item.Id), nameof(Item.Name), vm.OrderRow.ItemId); vm.Orders = new SelectList(await _bll.Orders.GetAllAsync(), nameof(Order.Id), nameof(Order.Id), vm.OrderRow.OrderId); return(View(vm)); }