Example #1
0
        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)));
        }
Example #2
0
 private void MapTo(CreateClearanceCode command, ref ClearanceCode clearancecode)
 {
     clearancecode.Description = command.Description;
     clearancecode.Code        = command.Code;
 }