public async Task <ActionResult <RollingStockTypeModel> > Create(RollingStockTypeModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var rollingStockType = new RollingStockType
            {
                Name           = model.Name,
                AARDesignation = model.AARDesignation,
                Description    = model.Description
            };

            await _rollingStockTypeRepository.CreateAsync(rollingStockType);

            model = _mapper.Map <RollingStockTypeModel>(rollingStockType);

            return(CreatedAtAction(nameof(GetById), new { id = rollingStockType.Id }, model));
        }
        public async Task <ActionResult <RollingStockTypeModel> > Update(int id, RollingStockTypeModel model)
        {
            var rollingStockType = await _rollingStockTypeRepository.GetByIdAsync(id);

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

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

            rollingStockType.Name           = model.Name;
            rollingStockType.AARDesignation = model.AARDesignation;
            rollingStockType.Description    = model.Description;

            await _rollingStockTypeRepository.UpdateAsync(rollingStockType);

            return(Ok(model));
        }