public async Task <ActionResult <GlobalAtributeDto> > PostGlobalAtribute(GlobalAtributeDto globalAtributeDto) { GlobalAtribute globalAtribute = new GlobalAtribute { Name = globalAtributeDto.Name, Content = globalAtributeDto.Content }; foreach (long ii in globalAtributeDto.ItemIds) { if (_context.Items.Any(i => i.Id == ii)) { ItemGlobalAtribute temp = new ItemGlobalAtribute { Item = _context.Items.First(i => i.Id == ii), GlobalAtribute = globalAtribute }; _context.ItemGlobalAtributes.Add(temp); } else { return(BadRequest()); } } _context.GlobalAtributes.Add(globalAtribute); await _context.SaveChangesAsync(); return(CreatedAtAction("GetGlobalAtribute", new { id = globalAtribute.Id }, globalAtribute)); }
public async Task <IActionResult> PutGlobalAtribute(long id, GlobalAtributeDto globalAtributeDto) { if (id != globalAtributeDto.Id) { return(BadRequest()); } var globalAtribute = _context.GlobalAtributes.First(ga => ga.Id == id); globalAtribute.Name = globalAtributeDto.Name; globalAtribute.Content = globalAtributeDto.Content; foreach (long ii in globalAtributeDto.ItemIds) { if (_context.Items.Any(i => i.Id == ii)) { if (!_context.ItemGlobalAtributes.Any(ia => ia.ItemId == ii && ia.GlobalAtributeId == globalAtribute.Id)) { ItemGlobalAtribute temp = new ItemGlobalAtribute { Item = _context.Items.First(i => i.Id == ii), GlobalAtribute = globalAtribute }; _context.ItemGlobalAtributes.Add(temp); } } else { return(BadRequest()); } } _context.Entry(globalAtribute).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GlobalAtributeExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }