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());
            }
        }
Beispiel #2
0
        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);
        }