public async Task <IActionResult> NewEngineer([FromBody] SaveEngineerResource model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var engineer = new Engineer(model.Name, model.ContactNumber, model.Address, UserId);

            _engineerRepository.Add(engineer);

            await _unitOfWork.CompleteAsync();

            return(Ok(_mapper.Map <Engineer, EngineerResource>(engineer)));
        }
        public async Task <IActionResult> UpdateEngineer(int id, [FromBody] SaveEngineerResource model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var engineerFromDb = await _engineerRepository.GetAsync(id, UserId);

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

            engineerFromDb.Modify(model.Name, model.ContactNumber, model.Address);

            await _unitOfWork.CompleteAsync();

            return(Ok(_mapper.Map <Engineer, EngineerResource>(engineerFromDb)));
        }