public IHttpActionResult Put(int id, [FromBody] CreateClearanceCode command) { if (command == null || !ModelState.IsValid || id == 0) { return(this.Error().InvalidParameters()); } var clearancecode = _clearanceRepository.Find(id); if (clearancecode == null) { return(NotFound()); } ClearanceCode.Validate(command.Code, command.Description); var clearances = _clearanceRepository.FindByExternal(command.Code).ToList(); //No duplicate clearance code if (clearances.Count != 0 && (clearances.Count != 1 || clearances[0].Id != id)) { return(this.Error().InvalidParameters("Clearance code already exists")); } MapTo(command, ref clearancecode); _clearanceRepository.Add(clearancecode); _clearanceRepository.SaveChanges(); return(Ok(_mapper.Map <ClearanceCodeModel>(clearancecode))); }
private void MapTo(CreateClearanceCode command, ref ClearanceCode clearancecode) { clearancecode.Description = command.Description; clearancecode.Code = command.Code; }