public async Task <IActionResult> InsertUpdateConsultant(ConsultantVM consultantModel) { if (ModelState.IsValid) { if (consultantModel.Id == Guid.Empty) { if (await _consultantRepository.SaveConsultant(consultantModel) == Shared.Helpers.DbStatusCode.Created) { TempData["ConsultantActionResponse"] = true; } else { TempData["ConsultantActionResponse"] = false; } } else { if (await _consultantRepository.UpdateConsultant(consultantModel) == Shared.Helpers.DbStatusCode.Updated) { TempData["ConsultantActionResponse"] = true; } else { TempData["ConsultantActionResponse"] = false; } } } else { return(View(consultantModel)); } return(RedirectToAction("Index")); }
public async Task <Consultant> Handle(UpdateConsultantByIdCommand request, CancellationToken cancellationToken) { var newConsultant = _mapper.Map <Consultant>(request); if (!string.IsNullOrWhiteSpace(request.Password)) { Password.CreatePasswordHash(request.Password, out byte[] passwordHash, out byte[] passwordSalt); newConsultant.PasswordHash = passwordHash; newConsultant.PasswordSalt = passwordSalt; } return(await _repository.UpdateConsultant(newConsultant).HidePassword()); }
public async Task GivenAConsultant_WhenUpdateConsultant_ThenReturnConsultantUpdated() { var consultant = ConsultantFactory.AddedConsultant(_database.DbContext); var updatedConsultant = ConsultantFactory.UpdateUsernameAndEmailValidConsultant(consultant.Id); var result = await _repository.UpdateConsultant(updatedConsultant); result.Should().BeOfType <Consultant>(); result.Id.Should().Be(updatedConsultant.Id); result.Username.Should().Be(updatedConsultant.Username); result.Email.Should().BeEquivalentTo(updatedConsultant.Email); result.Location.Should().BeEquivalentTo(consultant.Location); result.Availability.Should().BeEquivalentTo(consultant.Availability); result.NumberOfTickets.Should().Be(consultant.NumberOfTickets); result.Skill.Should().BeEquivalentTo(consultant.Skill); }