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.")); } }
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.")); }
public Gladiator(GladiatorBindingModel model, string ownerId) : this() { Name = model.Name; IsNPC = false; OwnerId = ownerId; }
public void Update(GladiatorBindingModel model) { Name = model.Name; }