Ejemplo n.º 1
0
        public async Task <IActionResult> GetCarsByCarOwner([FromBody] OwnerRequest value)
        {
            var res = await _carService.GetCars(
                _customMapper.OwnerRequestToCarOwner(value));

            _logger.LogInformation($"Getting cars by carOwner {value.Name}", res);
            var carsResponces = new List <CarResponse>();

            res.ForEach(c => carsResponces.Add(
                            _customMapper.CarToCarResponse(c)));

            return(Ok(new Response <CarResponse[]>(carsResponces.ToArray())));
        }
        Put(string id, [FromForm] OwnerRequest ownerRequest)
        {
            if (id != ownerRequest.Id)
            {
                return(BadRequest());
            }

            if (ownerRequest.Token == null)
            {
                _logger.LogInformation($"bad request token is empty");

                return(BadRequest("token is empty"));
            }
            else
            {
                _logger.LogInformation($"getting user with token");

                var user = await _identityService.GetUserFromToken(ownerRequest.Token);

                if (user.Id == ownerRequest.Id)
                {
                    var customUser = _customMapper
                                     .OwnerRequestToCarOwner(ownerRequest);
                    _customMapper.UpdateUserFromDb(user, customUser);

                    var result = await _identityService.UpdateUser(user);

                    if (result.Succeeded)
                    {
                        return(Ok(
                                   new Response <string>($"{user.Email} was successfylly  updated ")));
                    }
                    else
                    {
                        var Errors = GetErrors(result);

                        return(Ok(new AuthFailedResponse
                        {
                            ContainsErrors = true,
                            Errors = Errors
                        }));
                    }
                }
                else
                {
                    _logger.LogInformation($"bad request token is not yours");

                    return(BadRequest("bad token"));
                }
            }
        }