public ActionResult Edit([Bind(Include = "Id,Name,CurrentMode,PlayerNumber,MaxPlayer,CurrentMap,IP,Port,DateCreated,LastUpdate")] Server server) { if (ModelState.IsValid) { db.Entry(server).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(server)); }
/// <summary> /// Use to update a server /// </summary> /// <param name="id">The ID of the server you want to update</param> /// <param name="server">The data you want to update (ID is ignored)</param> /// <returns>Return the updated server if it succeeded / return null if it failed and lastExceptionThrown is updated</returns> public Server UpdateServer(int id, Server server) { Server oldServer; server.Id = id; server.LastUpdate = DateTime.Now; using (var db = new ServerDb()) { lock (mutexDbAccess) { oldServer = db.Servers.Find(id); oldServer.Copy(server); db.Entry(oldServer).State = EntityState.Modified; db.SaveChanges(); } } return(server); #region [ === Old Code : For cache memory (no DB) === ] //var ctx = HttpContext.Current; //Server newServer = null; //if (ctx != null) //{ // try // { // var currentData = ((Server[])ctx.Cache[CacheKey]).ToList(); // // Cannot have a double of IDs because it is handled by the DB (Id is the key) // var serverToUpdate = currentData.FirstOrDefault((s) => s.Id == id); // if (serverToUpdate == default(Server)) // throw new Exception("No server found with this ID : " + id); // else // newServer = updateServer(serverToUpdate, server); // ctx.Cache[CacheKey] = currentData.ToArray(); // return newServer; // } // catch (Exception ex) // { // this.lastExceptionThrown = ex; // Console.WriteLine(ex.ToString()); // return null; // } //} //return null; #endregion }