Esempio n. 1
0
        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"));
        }
Esempio n. 2
0
        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);
        }