Пример #1
0
 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));
 }
Пример #2
0
        /// <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
        }