예제 #1
0
        public async Task <CreateCompanyResultDto> Create(CreateCompanyDto createCompanyDto, int userId)
        {
            var company = new Company();

            company.Address            = createCompanyDto.Address;
            company.BrandName          = createCompanyDto.BrandName;
            company.Logo               = createCompanyDto.Logo;
            company.Name               = createCompanyDto.Name;
            company.RegistrationNumber = createCompanyDto.RegistrationNumber;
            company.UserId             = userId;
            company.VatNumber          = createCompanyDto.VatNumber;

            if (await _userRolesRepository.GetAsync(filter: o => o.UserId == userId && o.RoleId == (int)Roles.CompanyOwner) == null)
            {
                var userRole = new UserRole()
                {
                    RoleId = (int)Roles.CompanyOwner,
                    UserId = userId
                };

                await _userRolesRepository.InsertAsync(userRole);
            }

            return(new CreateCompanyResultDto()
            {
                CompanyId = (await _companiesRepository.InsertAsync(company)).Id
            });
        }