public async Task <Model.Models.Customer> Insert([FromBody] CustomerInsertRequest request) { if (!ModelState.IsValid) { throw new UserException("Morate popuniti sva polja ispravno"); } return(await _customerService.Insert(request)); }
public async Task <Model.Models.Customer> Insert(CustomerInsertRequest request) { if (request.Password != request.PasswordConfirm) { throw new UserException("Lozinke moraju biti iste"); } var salt = AccountService.GenerateSalt(); var hash = AccountService.GenerateHash(salt, request.Password); // Adding account for customer Database.Account customerAccount = new Database.Account() { DateCreated = DateTime.Now, Email = request.Email, PasswordSalt = salt, PasswordHash = hash, PhoneNumber = request.PhoneNumber, Username = request.Username }; await _context.Account.AddAsync(customerAccount); await _context.SaveChangesAsync(); // Adding customer var result = await _context.Account .Where(x => x.PasswordSalt == salt) .SingleOrDefaultAsync(); var accountId = result.Id; Database.Customer customer = new Database.Customer() { AccountId = accountId, Address = request.Address, AreaId = request.AreaId, CompanyName = request.CompanyName }; _context.Customer.Add(customer); _context.SaveChanges(); return(_mapper.Map <Model.Models.Customer>(customer)); }