public async Task <IActionResult> EditPost(int id, MerchantTerminalViewModel model) { if (id <= 0 || id != model.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var terminal = await _db.Terminal.FindAsync(id); if (terminal == null) { return(NotFound()); } if (terminal.Status == TerminalStatus.DisabledByServiceProvider && terminal.Status != model.Status) { model.Status = TerminalStatus.DisabledByServiceProvider; } terminal.Name = model.Name; terminal.Status = model.Status; terminal.StoreId = model.StoreId; _db.Update(terminal); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } catch (DbUpdateConcurrencyException) { if (!TerminalExists(model.Id)) { return(NotFound()); } throw; } } var merchantId = await _userService.GetCurrentMerchantId(User); ViewData["storeId"] = new SelectList(_db.Store.Where(t => t.MerchantId == merchantId), "Id", "Name", model.StoreId); return(View(model)); }
public async Task <IActionResult> Edit(int?id) { var terminal = await _db.Terminal.FindAsync(id); if (terminal == null) { return(NotFound()); } var model = new MerchantTerminalViewModel { Name = terminal.Name, Status = terminal.Status, StoreId = terminal.StoreId }; var merchantId = await _userService.GetCurrentMerchantId(User); ViewData["storeId"] = new SelectList(_db.Store.Where(t => t.MerchantId == merchantId), "Id", "Name", model.StoreId); return(View(model)); }