public ActionResult <DriverDetailDTO> CreateDriver(DriverCreateDTO driverDTO) { var driver = this.mapper.Map <Driver>(driverDTO); driver = this.driverRepository.CreateDriver(driver); return(this.mapper.Map <DriverDetailDTO>(driver)); }
// POST: api/User public RegisterReturnDTO Post([FromBody] DriverCreateDTO driverInfo) { if (!UserPrincipal.IsDispatcher) { throw new HttpResponseException(HttpStatusCode.Unauthorized); } if (uow.UserRepository.GetByUsername(driverInfo.DriverInfo.Username) != null) { return(new RegisterReturnDTO() { IsSuccess = false, Message = $"Registration failed: User with username '{driverInfo.DriverInfo.Username}' allready exist" }); } if (driverInfo.CheckInput().Length != 0) { return(new RegisterReturnDTO() { IsSuccess = false, Message = $"Registration failed: Providen data isn't valid\n{driverInfo.CheckInput()}" }); } Driver driver = new Driver() { Email = driverInfo.DriverInfo.Email, FirstName = driverInfo.DriverInfo.FirstName, Gender = driverInfo.DriverInfo.Gender, JMBG = driverInfo.DriverInfo.JMBG, LastName = driverInfo.DriverInfo.LastName, Password = driverInfo.DriverInfo.Password, PhoneNumber = driverInfo.DriverInfo.PhoneNumber, Role = Role.Driver, Username = driverInfo.DriverInfo.Username, Location = new Location() }; driver = uow.UserRepository.Insert(driver) as Driver; Car car = new Car() { CarType = driverInfo.CarType, Driver = driver, DriverId = driver.Id, ModelYear = driverInfo.CarModelYear, RegistrationNumber = driverInfo.CarRegistrationNumber }; car = uow.CarRepository.Insert(car); driver.Car = car; driver.CarId = car.Id; uow.UserRepository.Update(driver); return(new RegisterReturnDTO() { IsSuccess = true, }); }