private string ResetChar(string Name) { if (!CheckOnline()) { return("You must log out before reseting."); } using (var context = new Models.AccountContext()) { Character character = context.Characters.Find(Name); if (character == null) { return("Character not found. Contact admin."); } if (character.AccountID != User.Identity.Name) { return("This character doesn't belong to you. Contact admin."); //Should never happen } else { //if (!Config.isResetable(character) && !CheckOnline()) return false; if (character.cLevel < Config.RESET_LEVEL) { return("You need " + Config.RESET_LEVEL.ToString() + " level to reset. You are only " + character.Resets); } else if (character.Money < Config.getCost(character.Resets)) { return("You don't have enough money.\nYou need " + (Config.getCost(character.Resets) - character.Money).ToString() + " more zen to reset."); } else { try { //var args = new DbParameter[]{ // new SqlParameter{ParameterName="name",Value=character.Name}, // new SqlParameter{ParameterName="acc",Value=User.Identity.Name}, // new SqlParameter{ParameterName="cost",Value=Config.getCost(character.Resets)} //}; //context.Database.ExecuteSqlCommand("Update Character SET cLevel=1, Resets=Resets+1, Money=Money - @cost, Experience = 0, MapNumber = 0, MapPosX = 182, MapPosY = 128 WHERE AccountID=@acc and Name=@name", args); character.cLevel = 1; character.Resets += 1; character.Money -= Config.getCost(character.Resets); character.Experience = 0; character.MapNumber = 0; character.MapPosX = 182; character.MapPosY = 128; context.SaveChanges(); context.Entry(character).GetDatabaseValues(); } catch (Exception e) { return("A problem occured. Contact admin with Error Code:" + e.HResult.ToString()); } } } } return(Name + " succesfully reseted."); }
public void Save(User user) { database.UserList.Add(user); database.SaveChanges(); }