public async Task <IActionResult> Edit(int?id) { var terminal = await _db.Terminal.FindAsync(id); if (terminal == null) { return(NotFound()); } var model = new SpTerminalViewModel { MerchantId = terminal.MerchantId, SerialNumber = terminal.SerialNumber, Name = terminal.Name, Status = terminal.Status }; ViewData["MerchantId"] = new SelectList(_db.Merchant, "Id", "Name", model.MerchantId); return(View(model)); }
public async Task <IActionResult> EditPost(int id, SpTerminalViewModel model) { if (id <= 0 || id != model.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var terminal = new Terminal { Id = model.Id, ServiceProviderId = await _userService.GetCurrentServiceProviderId(User), MerchantId = model.MerchantId, SerialNumber = model.SerialNumber, Name = model.Name, Status = model.Status }; //todo if (merchantHasChanged) terminal.StoreId = await _userService.GetDefaultStoreId(model.MerchantId); _db.Update(terminal); await _db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TerminalExists(model.Id)) { return(NotFound()); } throw; } return(RedirectToAction(nameof(Index))); } ViewData["MerchantId"] = new SelectList(_db.Merchant, "Id", "Name", model.MerchantId); return(View(model)); }
public async Task <IActionResult> Create(SpTerminalViewModel model) { if (ModelState.IsValid) { var terminal = new Terminal { ServiceProviderId = await _userService.GetCurrentServiceProviderId(User), MerchantId = model.MerchantId, StoreId = await _userService.GetDefaultStoreId(model.MerchantId), SerialNumber = model.SerialNumber, Name = model.Name, Status = model.Status }; _db.Add(terminal); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["MerchantId"] = new SelectList(_db.Merchant, "Id", "Name", model.MerchantId); return(View(model)); }