public async Task <ActionResult <Models.DTO.LabelDTO> > Post(Models.DTO.LabelDTO label) { if (label.Name == null) { return(BadRequest($"Label name not provided")); } if (_dbContext.Labels .AsEnumerable() .Any(l => string.Equals(l.Name, label.Name, StringComparison.CurrentCultureIgnoreCase))) { return(Conflict($"Label '{label.Name}' already exists.")); } Models.Label newLabel = new Models.Label(label); newLabel.LabelId = 0; _dbContext.Labels.Add(newLabel); await _dbContext.SaveChangesAsync(); return(CreatedAtAction( nameof(Get), new { id = newLabel.LabelId }, new Models.DTO.LabelDTO(newLabel) )); }
public async Task <ActionResult> Put(int id, Models.DTO.LabelDTO label) { if (id != label.Id) { return(BadRequest($"Query param id {id} must match body data id {label.Id}")); } if (!_dbContext.Labels .Any(l => l.LabelId == id)) { return(NotFound()); } _dbContext.Entry(new Models.Label(label)).State = EntityState.Modified; await _dbContext.SaveChangesAsync(); return(NoContent()); }