コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }