public async Task <User> Register(User user, string password) { byte[] passwordHash, key; CreateHashPassword(password, out passwordHash, out key); // now set the password fields user.PasswordHash = passwordHash; user.PasswordSalt = key; _vegaRepo.Add(user); await _vegaRepo.SaveAll(); return(user); }
public async Task <IActionResult> PostVehicle(VehicleDto vehicle) { var userId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (userId == 0) { return(Unauthorized("You are not authorize to access.")); } if (!ModelState.IsValid || string.IsNullOrEmpty(vehicle.Name)) { return(BadRequest("Something went wrong during post...")); } var model = await _modelRepo.GetModel(vehicle.ModelId); if (model == null) { return(BadRequest("Something went wrong with the request...")); } vehicle.Name = vehicle.Name.ToLower(); var mappedVehicle = _mapper.Map <VehicleDto, Vehicle>(vehicle); if (await _repo.IsExist <Vehicle>(mappedVehicle.Name)) { return(BadRequest("Vehicle already registered with this name...")); } mappedVehicle.UserId = userId; _vegaRepo.Add(mappedVehicle); var returnVehicle = _mapper.Map <VehicleDto>(mappedVehicle); var accessory = mappedVehicle.Accessories.SingleOrDefault().Accessory; var newAccessory = _mapper.Map <Accessory, AccessoryDto>(accessory); ReturnVehicleDto newVehicle = new ReturnVehicleDto { Name = returnVehicle.Name, Price = returnVehicle.Price, IsRegistered = returnVehicle.IsRegistered, ModelId = returnVehicle.ModelId, Accessory = newAccessory }; if (await _vegaRepo.SaveAll()) { return(Created("api/vehicles/" + mappedVehicle.Id, newVehicle)); } return(BadRequest("something wrong...")); }