Ejemplo n.º 1
0
        public async Task <Server> AddServerAsync(string hostName, OsFamilly osFamilly, string operatingSystemName, string environmentName, System.Net.IPAddress subnetIP)
        {
            var os = await this.GetorAddOperatingSystemByNameAsync(osFamilly, operatingSystemName);

            var env = await _envRepository.FirstAsync(new EnvironmentSpecification(environmentName));

            var server  = new Server(hostName, os, env, 2, 4, subnetIP);
            var groupOS = await _groupRepository.FirstAsync(new GroupSpecification(os.Name));

            groupOS.AddServer(server);
            await _groupRepository.UpdateAsync(groupOS);

            return(server);
        }
Ejemplo n.º 2
0
 public OsSpecification(OsFamilly osFamilly, string name)
 {
     Query
     .Where(g => g.Familly == osFamilly & g.Name == name.ToLower());
 }
Ejemplo n.º 3
0
 public OperatingSystem(String name, OsFamilly osFamilly = OsFamilly.Windows)
 {
     Name    = !String.IsNullOrWhiteSpace(name) ? name.ToLower() : throw new ArgumentNullException(nameof(name));
     Familly = osFamilly;
 }
Ejemplo n.º 4
0
        public async Task <Models.OperatingSystem> GetorAddOperatingSystemByNameAsync(OsFamilly osFamilly, string name)
        {
            _logger.LogDebug($"Get Or Add Operating System for {osFamilly} by : '{name}'");
            var os = await _osRepository.FirstOrDefaultAsync(new OsSpecification(name));

            if (null == os)
            {
                _logger.LogDebug($"Create Operating System for {osFamilly} with name : '{name}'");
                os = new Models.OperatingSystem(name, osFamilly);
                await _osRepository.AddAsync(os);

                await this.GetorAddGroupAsync(name, osFamilly.ToString());
            }

            return(os);
        }