public async Task CreateManager_WhenCalled_CreateNewManager() { const int id = 1; const string name = "Josep Guardiola"; var managerCreateDto = new ManagerCreateDto { Name = name }; var expectedManager = new Manager { Id = id, Name = name }; _managerService.Setup(m => m.GetDetailByIdAsync(It.IsAny <int>())).ReturnsAsync(expectedManager); var result = await _managersController.CreateManager(managerCreateDto); var okObjectResult = result as OkObjectResult; var okObjectResultValue = okObjectResult.Value as ManagerDetailDto; _managerService.Verify(m => m.CreateAsync(It.IsAny <Manager>()), Times.Once); Assert.That(result, Is.TypeOf <OkObjectResult>()); Assert.That(okObjectResultValue.Name, Is.EqualTo(name)); }
private async Task ValidateManagerCreateDto(ManagerCreateDto managerDto) { var validationResults = new List <ValidationResult>(); validationResults.AddRange(await ValidateUserCreateDto(managerDto.User)); if (await _context.Companies.AnyAsync(c => c.INN == managerDto.Company.INN)) { validationResults.Add(new ValidationResult($"Организация с таким ИНН: {managerDto.Company.INN} уже зарегистрирована в системе")); } if (validationResults.Any()) { throw new Exceptions.ValidationException("Произошла ошибка", validationResults); } }
public async Task <UsersLoginResultDto> RegisterManager(ManagerCreateDto managerDto) { await ValidateManagerCreateDto(managerDto); var manager = _mapper.Map <AppUser>(managerDto.User); manager.Company = _mapper.Map <Company>(managerDto.Company); manager.Company.ChangeDate = DateTime.Now; manager.UserName = managerDto.User.Login; manager.Company.Subscriptions = new List <Subscription>() { new Subscription { StartDate = DateTime.UtcNow, EndDate = DateTime.UtcNow.AddDays(7), TariffId = 2, Active = true } }; manager.Created = DateTime.UtcNow; var result = _userManager.CreateAsync(manager, managerDto.User.Password).Result; if (!result.Succeeded) { var validationErrors = new List <ValidationResult>(); foreach (var error in result.Errors) { validationErrors.Add(new ValidationResult(error.Description)); } var ex = new Exceptions.ValidationException("Ошибка регистрации", validationErrors); throw ex; } var user = _userManager.FindByNameAsync(manager.UserName).Result; await _userManager.AddToRoleAsync(user, "manager"); var token = await GenerateJwtToken(user); return(new UsersLoginResultDto { Name = user.UserName, Token = token }); }
public async Task <IActionResult> CreateManager([FromBody] ManagerCreateDto managerCreateDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var managerToCreate = _mapper.Map <Manager>(managerCreateDto); await _managerService.CreateAsync(managerToCreate); var manager = await _managerService.GetDetailByIdAsync(managerToCreate.Id); var returnManager = _mapper.Map <ManagerDetailDto>(manager); return(Ok(returnManager)); }
public async Task <IActionResult> Register(ManagerCreateDto managerDto) { var userRegisterResultDto = await _appUserService.RegisterManager(managerDto); return(Ok(userRegisterResultDto)); }
public async Task <AppUserDto> Create([FromBody] ManagerCreateDto dto) { return(await ManagerAccountAppService.RegisterAsync(dto.UserCreateDto, dto.DistrictID)); }