Ejemplo n.º 1
0
        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.");
        }
Ejemplo n.º 2
0
 public void Save(User user)
 {
     database.UserList.Add(user);
     database.SaveChanges();
 }