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(); } }
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); }