public async Task <IActionResult> Post(CreateWorkerDto createWorkerDto) { var worker = new Worker() { Name = createWorkerDto.Name, Surname = createWorkerDto.Surname, Supervisor = createWorkerDto.Supervisor, OfficeID = createWorkerDto.OfficeID, }; var user = await AddUserFromWorker(createWorkerDto, createWorkerDto.Password); worker.UserID = user.Id; await _context.Workers.AddAsync(worker); await _context.SaveChangesAsync(); user.WorkerID = worker.Id; var workerDetail = new WorkerDetail() { WorkerID = worker.Id }; await _context.WorkersDetails.AddAsync(workerDetail); await _context.SaveChangesAsync(); return(StatusCode(201)); }
async Task <User> AddUserFromWorker(CreateWorkerDto createWorkerDto, string password) { var user = new User() { userRole = (int)Models.User.Role.Worker, Username = createWorkerDto.Username, Email = createWorkerDto.Email, OfficeID = createWorkerDto.OfficeID }; return(await _repository.Register(user, password, false)); }