Пример #1
0
        async public static Task <HttpStatusCodeResult> CreateGladiator(GladiatorBindingModel model, string userId)
        {
            Gladiator gladiator = new Gladiator(model, userId);

            gladiator.Score = new GladiatorScore
            {
                Gladiator = gladiator
            };
            //Count how many gladiators are still alive
            List <Gladiator> gladiators = await GetCurrentGladiators(userId);

            int amountOfGladiators = gladiators.Where(gtor => gtor.Health > 0).Count();

            if (amountOfGladiators < 3 || gladiator.IsNPC)
            {
                db.Gladiators.Add(gladiator);
                await db.SaveChangesAsync();

                return(new HttpStatusCodeResult(200, "Successfully created a new Gladiator."));
            }
            else
            {
                return(new HttpStatusCodeResult(400, "Too many gladiators still alive."));
            }
        }
Пример #2
0
        async public static Task <HttpStatusCodeResult> EditGladiator(GladiatorBindingModel model, string userId, bool isAdmin)
        {
            Gladiator gladiator = await GetGladiator(model.Id);

            if (gladiator == null)
            {
                return(new HttpStatusCodeResult(404, "No gladiator found."));
            }
            if (gladiator.Owner.Id != userId && !isAdmin)
            {
                return(new HttpStatusCodeResult(401, "Tried to edit another players gladiator."));
            }

            gladiator.Update(model);
            db.Entry(gladiator).State = EntityState.Modified;
            await db.SaveChangesAsync();

            return(new HttpStatusCodeResult(200, "Successfully Edited Gladiator."));
        }
Пример #3
0
 public Gladiator(GladiatorBindingModel model, string ownerId) : this()
 {
     Name    = model.Name;
     IsNPC   = false;
     OwnerId = ownerId;
 }
Пример #4
0
 public void Update(GladiatorBindingModel model)
 {
     Name = model.Name;
 }