Esempio n. 1
0
        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)
                       ));
        }
Esempio n. 2
0
        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());
        }