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()); }
public async Task <IActionResult> PutItem(long id, ItemDto itemDto) { if (id != itemDto.Id) { return(BadRequest()); } var item = _context.Items.First(i => i.Id == itemDto.Id); item.Name = itemDto.Name; item.Description = itemDto.Description; item.Photo = itemDto.PhotoId == -1 ? null : _context.Photos.First(p => p.Id == itemDto.PhotoId); foreach (long ii in itemDto.AtributeIds) { if (_context.Atributes.Any(i => i.Id == ii)) { if (!_context.ItemAtributes.Any(ia => ia.ItemId == itemDto.Id && ia.AtributeId == ii)) { ItemAtribute temp = new ItemAtribute { Item = item, Atribute = _context.Atributes.First(i => i.Id == ii) }; _context.ItemAtributes.Add(temp); } } else { return(BadRequest()); } } foreach (long ii in itemDto.GlobalAtributeIds) { if (_context.GlobalAtributes.Any(i => i.Id == ii)) { if (!_context.ItemGlobalAtributes.Any(ia => ia.ItemId == itemDto.Id && ia.GlobalAtributeId == ii)) { ItemGlobalAtribute temp = new ItemGlobalAtribute { Item = item, GlobalAtribute = _context.GlobalAtributes.First(i => i.Id == ii) }; _context.ItemGlobalAtributes.Add(temp); } } else { return(BadRequest()); } } foreach (long ii in itemDto.GroupIds) { if (_context.Groups.Any(i => i.Id == ii)) { if (!_context.ItemGroups.Any(ia => ia.ItemId == itemDto.Id && ia.GroupId == ii)) { ItemGroup temp = new ItemGroup { Item = item, Group = _context.Groups.First(i => i.Id == ii) }; _context.ItemGroups.Add(temp); } } else { return(BadRequest()); } } _context.Entry(item).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <ItemDto> > PostItem(ItemDto itemDto) { Item item = new Item { Name = itemDto.Name, Description = itemDto.Description, Photo = itemDto.PhotoId == -1 ? null : _context.Photos.First(p => p.Id == itemDto.PhotoId) }; foreach (long ai in itemDto.AtributeIds) { if (_context.Atributes.Any(a => a.Id == ai)) { ItemAtribute temp = new ItemAtribute { Item = item, Atribute = _context.Atributes.First(a => a.Id == ai) }; _context.ItemAtributes.Add(temp); } else { return(BadRequest()); } } foreach (long gai in itemDto.GlobalAtributeIds) { if (_context.GlobalAtributes.Any(ga => ga.Id == gai)) { ItemGlobalAtribute temp = new ItemGlobalAtribute { Item = item, GlobalAtribute = _context.GlobalAtributes.First(ga => ga.Id == gai) }; _context.ItemGlobalAtributes.Add(temp); } else { return(BadRequest()); } } foreach (long gi in itemDto.GroupIds) { if (_context.Groups.Any(g => g.Id == gi)) { ItemGroup temp = new ItemGroup { Item = item, Group = _context.Groups.First(g => g.Id == gi) }; _context.ItemGroups.Add(temp); } else { return(BadRequest()); } } _context.Items.Add(item); await _context.SaveChangesAsync(); return(CreatedAtAction("GetItem", new { id = itemDto.Id }, itemDto)); }