示例#1
0
        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);
        }
示例#2
0
        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..."));
        }