Пример #1
0
        public static ViewModels.DomainViewModel GetViewModel(Domain.Entities.Domain domain)
        {
            var domainViewModel = new ViewModels.DomainViewModel();

            domainViewModel.HostedAt = domain.HostedAt;
            domainViewModel.Name     = domain.Name;
            domainViewModel.Ip       = domain.Ip;
            domainViewModel.WhoIs    = domain.WhoIs;

            return(domainViewModel);
        }
Пример #2
0
        public bool Add(Domain.Entities.Domain domain)
        {
            try
            {
                _context.Domains.Add(domain);
                _context.SaveChanges();

                return(true);
            }
            catch (System.Exception)
            {
                return(false);
            }
        }
Пример #3
0
        public override async Task <CreateDomainResponse> CreateDomain(CreateDomainRequest request, ServerCallContext context)
        {
            var payUser = await dbContext.Users.FindIfNullThrowAsync(request.AdminId);

            var domain = new Domain.Entities.Domain(Guid.NewGuid(), request.Name);

            dbContext.Domains.Add(domain);

            var adminAssignment = new UserDomainAssignment(Guid.NewGuid(), payUser, domain, Identity.Domain.ValueObjects.UserRole.Admin);

            dbContext.UserDomainAssignments.Add(adminAssignment);

            await dbContext.SaveChangesAsync();

            return(new CreateDomainResponse
            {
                DomainId = domain.Id.ToString(),
                AdminDomainAssignmentId = adminAssignment.Id.ToString(),
            });
        }
Пример #4
0
        public async Task <Domain.Entities.Domain> FillDomainDataAsync(string domainName)
        {
            Domain.Entities.Domain domain = new Domain.Entities.Domain();

            var result = await _lookup.QueryAsync(domainName, QueryType.ANY);

            var response = await _whoisClient.QueryAsync(domainName);

            var record  = result.Answers.ARecords().FirstOrDefault();
            var address = record?.Address;
            var ip      = address?.ToString();

            var hostResponse = await _whoisClient.QueryAsync(ip);

            domain.Name      = domainName;
            domain.Ip        = ip;
            domain.UpdatedAt = DateTime.Now;
            domain.WhoIs     = response.Raw;
            domain.Ttl       = record?.TimeToLive ?? 0;
            domain.HostedAt  = hostResponse.OrganizationName;

            return(domain);
        }