public async Task <OrgUnitResponseDTO> AddOrgUnitAsync(OrgUnitDTO orgUnitDTO, Guid userId) { using (var context = _contextFactory()) { var company = await _userCompanyProvider.GetAsync(userId); var orgUnit = _mapper.Map(orgUnitDTO, _dbSetProxyProvider.Create(context.OrgUnits)); orgUnit.TenantId = company.TenantId; orgUnit.CompanyId = company.Id; context.OrgUnits.Add(orgUnit); await context.SaveChangesAsync(); return(_mapper.Map <OrgUnitResponseDTO>(orgUnit)); } }
public async Task <EmployeeDTO> AddAsync(EmployeeDTO employeeDTO, Guid userId) { using (var context = _contextFactory()) using (var rolesService = _rolesServiceFactory(context)) using (var userManager = _userManagerFactory()) { var company = await _userCompanyProvider.GetAsync(userId); var employee = _mapper.Map <EmployeeDTO, Employee>(employeeDTO); employee = _prepareEmployeeForAddingProvider.Prepare(employee, company); var user = _employeeUserTransformer.Transform(employee); await userManager.CreateAsync(user); context.Attach(user); await rolesService.SetIsAdminStateAsync(user, employeeDTO.IsAdmin); return(_mapper.Map <Employee, EmployeeDTO>(_employeeUserTransformer.Transform(user))); } }