public bool Delete(int id) { using var ctx = new NinjaManagerContext(); var equipment = ctx.Equipments.Find(id); if (equipment == null) { return(false); } var ninjas = GetNinjaFromEquipments(equipment); var repo = new NinjaRepository(); foreach (var ninja in ninjas.ToList()) { ninja.Gold += equipment.Cost; var newEquipments = repo.GetEquipmentsFromNinja(ninja).Select(e => e.Id).ToList(); newEquipments.Remove(equipment.Id); repo.UpdateEquipments(ninja, newEquipments); repo.Update(ninja); } ctx.Equipments.Remove(equipment); ctx.SaveChanges(); return(true); }
public NinjaEquipment Create(NinjaEquipment ninjaEquipment) { using var ctx = new NinjaManagerContext(); ctx.NinjaEquipments.Add(ninjaEquipment); ctx.SaveChanges(); return(ninjaEquipment); }
public Equipment Create(Equipment equipment) { using var ctx = new NinjaManagerContext(); ctx.Equipments.Add(equipment); ctx.SaveChanges(); return(equipment); }
public Ninja UpdateEquipments(Ninja ninja, List <int> equipments) { using var ctx = new NinjaManagerContext(); ctx.Attach(ninja); ctx.Entry(ninja).Collection(n => n.Equipments).Load(); var equipmentsInNinja = ninja.Equipments.Select(i => i.EquipmentId).ToArray(); foreach (var equipment in ctx.Equipments) { if (equipments.Contains(equipment.Id)) { if (!equipmentsInNinja.Contains(equipment.Id)) { ninja.Equipments.Add(new NinjaEquipment { NinjaId = ninja.Id, EquipmentId = equipment.Id }); } } else if (equipmentsInNinja.Contains(equipment.Id)) { ctx.Remove(ninja.Equipments.FirstOrDefault(ne => ne.EquipmentId == equipment.Id) !); } } ctx.Ninjas.Update(ninja); ctx.SaveChanges(); return(ninja); }
public Ninja Create(Ninja ninja) { using var ctx = new NinjaManagerContext(); ctx.Ninjas.Add(ninja); ctx.SaveChanges(); return(ninja); }
public Equipment Update(Equipment equipment) { using var ctx = new NinjaManagerContext(); ctx.Attach(equipment); ctx.Equipments.Update(equipment); ctx.SaveChanges(); return(equipment); }
public IEnumerable <Equipment> GetEquipmentsFromNinja(Ninja ninja) { using var ctx = new NinjaManagerContext(); ninja = ctx.Ninjas.Include(n => n.Equipments).ThenInclude(ne => ne.Equipment).FirstOrDefault(n => n == ninja); return(ninja == null ? new List <Equipment>() : ninja.Equipments.Select(i => i.Equipment)); }
public Ninja Update(Ninja ninja) { using var ctx = new NinjaManagerContext(); ctx.Attach(ninja); ctx.Ninjas.Update(ninja); ctx.SaveChanges(); return(ninja); }
public IEnumerable <Ninja> GetNinjaFromEquipments(Equipment equipment) { using var ctx = new NinjaManagerContext(); equipment = ctx.Equipments.Include(e => e.Ninjas).ThenInclude(ne => ne.Ninja).FirstOrDefault(e => e == equipment); return(equipment == null ? new List <Ninja>() : equipment.Ninjas.Select(i => i.Ninja)); }
public bool Delete(int ninjaId, int equipmentId) { using var ctx = new NinjaManagerContext(); var toRemove = ctx.NinjaEquipments.First(o => o.EquipmentId == equipmentId && o.NinjaId == ninjaId); if (toRemove == null) { return(false); } ctx.NinjaEquipments.Remove(toRemove); ctx.SaveChanges(); return(true); }
public bool Delete(int id) { using var ctx = new NinjaManagerContext(); var toRemove = ctx.Ninjas.Find(id); if (toRemove == null) { return(false); } ctx.Ninjas.Remove(toRemove); ctx.SaveChanges(); return(true); }
public List <Ninja> GetNinjaFromEquipment(Equipment equipment) { using var ctx = new NinjaManagerContext(); return(ctx.NinjaEquipments.ToList().FindAll(model => model.Equipment == equipment).Select(o => o.Ninja) .ToList()); }
public Ninja GetOne(int id) { using var ctx = new NinjaManagerContext(); return(ctx.Ninjas.FirstOrDefault(n => n.Id == id)); }
public List <Ninja> GetAll() { using var ctx = new NinjaManagerContext(); return(ctx.Ninjas.ToList()); }
public List <Equipment> GetAll() { using var ctx = new NinjaManagerContext(); return(ctx.Equipments.ToList()); }
public List <Equipment> GetEquipmentFromNinja(Ninja ninja) { using var ctx = new NinjaManagerContext(); return(ctx.NinjaEquipments.ToList().FindAll(model => model.Ninja == ninja).Select(o => o.Equipment) .ToList()); }
public Equipment GetOne(int id) { using var ctx = new NinjaManagerContext(); return(ctx.Equipments.FirstOrDefault(m => m.Id == id)); }