예제 #1
0
        public async Task <ActionResult <RoadTypeModel> > Create(RoadTypeModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var roadType = new RoadType
            {
                Name = model.Name,
                //Slug = model.Slug, // TODO: auto generate
                DisplayOrder = model.DisplayOrder
            };

            await _roadTypeRepository.CreateAsync(roadType);

            model = _mapper.Map <RoadTypeModel>(roadType);

            return(CreatedAtAction(nameof(GetById), new { id = roadType.Id }, model));
        }
예제 #2
0
        public async Task <ActionResult <RoadTypeModel> > Update(int id, RoadTypeModel model)
        {
            var roadType = await _roadTypeRepository.GetByIdAsync(id);

            if (roadType == null)
            {
                return(NotFound());
            }

            // TODO: Validate roadType type and parent

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            roadType.Name = model.Name;
            // Slug cannot be updated via API
            roadType.DisplayOrder = model.DisplayOrder;

            await _roadTypeRepository.UpdateAsync(roadType);

            return(Ok(model));
        }