public async Task <IActionResult> Edit(Radar newValues) { //get session id (we will use it when updating data and handling errors) sessionID_s = HttpContext.Session.GetString("Session"); sessionID = Guid.Parse(sessionID_s); Data d = new Data(); Program.data.TryGetValue(sessionID, out d); d.Radar = newValues; try { await _session.EditRadar(newValues.ID, newValues.name, newValues.system, newValues.configuration); } catch (Exception e) { // log exception here d.message = e.Message.ToString() + " Error"; await _session.Rollback(); } finally { _session.CloseTransaction(); } d.edited = true; return(RedirectToAction("BeforeEdit", "Radar")); }