async public Task <IActionResult> createCompanyUser(CreateCompanyUserDto companyUserDto)
        {
            ServiceResponse <List <CompanyUserDto> > response = await _companyUserService.CreateCompanyUser(companyUserDto);

            if (response.Success)
            {
                return(Ok(response.Data));
            }
            else
            {
                return(BadRequest(response.Message));
            }
        }
        async Task <ServiceResponse <List <CompanyUserDto> > > ICompanyUserService.CreateCompanyUser(CreateCompanyUserDto companyUserDto)
        {
            ServiceResponse <List <CompanyUserDto> > response = new ServiceResponse <List <CompanyUserDto> >();
            Company company = await _context.Companies.FirstOrDefaultAsync(a => a.companyId == companyUserDto.companyId);

            CompanyUser user = await _context.CompanyUsers.FirstOrDefaultAsync(a => a.email == companyUserDto.email);

            if (user != null)
            {
                response.Success = false;
                response.Message = "This email already has an account";
                return(response);
            }

            if (company == null)
            {
                response.Success = false;
                response.Message = "The company entered does not exist";
                return(response);
            }

            string      finalString  = new IDGenerator.IDGenerator().generate();
            String      lastLoggedIn = DateTime.Now.ToString();
            CompanyUser newUser      = new CompanyUser(finalString, company.companyName, companyUserDto.companyId, companyUserDto.email, lastLoggedIn, true);
            await _context.CompanyUsers.AddAsync(newUser);

            await _context.SaveChangesAsync();

            List <CompanyUserDto> newList = await _context.CompanyUsers.Select(a => new CompanyUserDto(a.companyUserId, a.companyId, a.companyName, a.email, a.lastLoggedIn, a.isActive)).ToListAsync();

            response.Data = newList;
            return(response);
        }