// GET: Orders/Edit/5 public async Task <IActionResult> Edit(Guid?id) { if (id == null) { return(NotFound()); } var userIdTKey = User.IsInRole("Admin") ? null : (Guid?)User.UserGuidId(); OrderCreateEditViewModel vm = null !; if (User.IsInRole("Restaurant")) { vm = new OrderCreateEditViewModel { Order = await _bll.Orders.FirstOrDefaultAsync(id.Value) }; } else { vm = new OrderCreateEditViewModel { Order = await _bll.Orders.FirstOrDefaultAsync(id.Value, userIdTKey) }; } if (vm.Order == null) { return(NotFound()); } vm.Restaurants = new SelectList(await _bll.Restaurants.GetAllAsync(), nameof(BLL.App.DTO.Restaurant.Id), nameof(BLL.App.DTO.Restaurant.Name), vm.Order.RestaurantId); return(View(vm)); }
public async Task <IActionResult> Edit(Guid id, OrderCreateEditViewModel vm) { if (id != vm.Order.Id) { return(NotFound()); } if (ModelState.IsValid) { try { vm.Order.AppUserId = User.UserGuidId(); await _bll.Orders.UpdateAsync(vm.Order); await _bll.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrderExists(vm.Order.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } vm.Restaurants = new SelectList(await _bll.Restaurants.GetAllAsync(), nameof(BLL.App.DTO.Restaurant.Id), nameof(BLL.App.DTO.Restaurant.Name), vm.Order.RestaurantId); return(View(vm)); }
// GET: Orders/Create public IActionResult Create() { var vm = new OrderCreateEditViewModel { Restaurants = new SelectList(_bll.Restaurants.GetAll(), nameof(BLL.App.DTO.Restaurant.Id), nameof(BLL.App.DTO.Restaurant.Name)) }; return(View(vm)); }
public async Task <IActionResult> Create(OrderCreateEditViewModel vm) { vm.Order.AppUserId = User.UserGuidId(); if (ModelState.IsValid) { vm.Order.Id = Guid.NewGuid(); _bll.Orders.Add(vm.Order); await _bll.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } vm.Restaurants = new SelectList(await _bll.Restaurants.GetAllAsync(), nameof(BLL.App.DTO.Restaurant.Id), nameof(BLL.App.DTO.Restaurant.Name), vm.Order.RestaurantId); return(View(vm)); }