public async Task <IHttpActionResult> Register([FromBody] MobileClientCreateModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var username = model.CardNumber.Replace(" ", string.Empty); var user = await _clientService.FindByUsername(username); if (user != null) { ModelState.AddModelError("register_error", "Korisničko ime je zauzeto."); return(BadRequest(ModelState)); } var result = await _clientService.Create(model); if (result) { return(Ok()); } else { return(InternalServerError()); } }
public async Task <bool> Create(MobileClientCreateModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var user = new UserLoginData { UserName = model.CardNumber.Replace(" ", string.Empty), Email = model.Email, IsActive = true, OriginUsername = model.CardNumber }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user.Id, _roleService.GetClientRole().Name); var configuration = _clientConfigurationService.GetClientConfiguration(model.ConfigurationGroup); var client = new Client { FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNumber, Email = model.Email, Address = model.Address, City = model.City, ClientId = user.Id, ClientConfigurationGroupId = configuration.Id }; _context.Clients.Add(client); await _context.SaveChangesAsync(); return(true); } return(false); }