public async Task EditMechanicProfile(string email, MechanicDto mechanicDto)
        {
            var user = await _userManager.FindByEmailAsync(email);

            using (IUnitOfWork unitOfWork = _unitOfWorkFactory.Create())
            {
                IRepository <Mechanic> repository = unitOfWork.Repository <Mechanic>();
                var mechanic = repository.Get(user.Id);

                _iMapper.Map <MechanicDto, Mechanic>(mechanicDto, mechanic);

                await unitOfWork.SaveAsync();
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> EditMechanicInfo([FromBody] MechanicDto mechanicDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            string email = User.Identity.Name;

            if (email == null)
            {
                return(Unauthorized());
            }

            await _profileService.EditMechanicProfile(email, mechanicDto);

            return(Ok());
        }
        private IEnumerable <Person> GetMechanics()
        {
            var mechanicsDtos = new List <MechanicDto>();

            var command = new SqlCommand(
                @"select Mechanics.id, Name, Surname
                from Mechanics inner join Persons on (Mechanics.PersonId = Persons.Id)",
                Connection
                );

            try
            {
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var mechanicDto = new MechanicDto
                        {
                            Id     = (int)reader["Id"],
                            Person = new Person(reader["Name"].ToString(), reader["Surname"].ToString())
                        };
                        mechanicsDtos.Add(mechanicDto);
                    }
                }
            }
            catch (SqlException e)
            {
                throw new DataException(e.Message);
            }

            var mechanics = new List <Person>();

            foreach (MechanicDto mechanicDto in mechanicsDtos)
            {
                Person mechanic = new Person(mechanicDto.Id, mechanicDto.Person.Name, mechanicDto.Person.Surname);
                mechanics.Add(mechanic);
            }

            return(mechanics);
        }