Beispiel #1
0
        public DBVMwareServer GetVMWareServerSync(Guid id, bool withcreds = false)
        {
            var dbReq = TblVMwareServer.Where(s => s.Id == id);

            if (!withcreds)
            {
                // Don't extract credentials from DB !
                dbReq = dbReq.Select(s => new DBVMwareServer {
                    Id = s.Id, Name = s.Name, Ip = s.Ip, Port = s.Port, Type = s.Type, VMs = s.VMs
                });
            }
            var server = dbReq.FirstOrDefault().Execute();

            if (withcreds)
            {
                if (PasswordsKey == null)
                {
                    throw new ArgumentNullException(nameof(PasswordsKey));
                }

                if (string.IsNullOrWhiteSpace(server.Password))
                {
                    throw new MissingMemberException("Password in DB is empry", nameof(server.Password));
                }

                server.Password = encrypt.DecryptSync(server.Password);
            }

            return(server);
        }
Beispiel #2
0
        public async Task <Guid> AddServer(DBServer server)
        {
            if (server.Id == Guid.Empty)
            {
                server.Id = Guid.NewGuid();
            }
            if (server is DBVMwareServer vmwareServer)
            {
                if (!string.IsNullOrWhiteSpace(vmwareServer.Password) && encrypt != null)
                {
                    vmwareServer.Password = await encrypt.Enrypt(vmwareServer.Password);
                }
                await TblVMwareServer.Insert(vmwareServer, false).IfNotExists().ExecuteAsync().ConfigureAwait(false);
            }
            else if (server is DBWindowsServer windowsServer)
            {
                if (!string.IsNullOrWhiteSpace(windowsServer.Password) && encrypt != null)
                {
                    windowsServer.Password = await encrypt.Enrypt(windowsServer.Password);
                }
                await TblWindowsServer.Insert(windowsServer, false).IfNotExists().ExecuteAsync().ConfigureAwait(false);
            }

            return(server.Id);
        }
Beispiel #3
0
 public async Task <IEnumerable <DBVMwareServer> > GetVMwareServers()
 {
     return(await TblVMwareServer
            .Where(s => s.Type == ServerType.VMware)
            // Don't extract credentials from DB !
            .Select(server => new DBVMwareServer {
         Id = server.Id, Name = server.Name, Ip = server.Ip, Port = server.Port, Type = server.Type, VMs = server.VMs
     })
            .ExecuteAsync().ConfigureAwait(false));
 }
Beispiel #4
0
 public async Task UpdateServer(DBServer server)
 {
     if (server is DBVMwareServer vmwareServer)
     {
         if (!string.IsNullOrWhiteSpace(vmwareServer.Password) && encrypt != null)
         {
             vmwareServer.Password = await encrypt.Enrypt(vmwareServer.Password);
         }
         var result = await TblVMwareServer.Insert(vmwareServer, false).ExecuteAsync().ConfigureAwait(false);
     }
     else if (server is DBWindowsServer windowsServer)
     {
         if (!string.IsNullOrWhiteSpace(windowsServer.Password) && encrypt != null)
         {
             windowsServer.Password = await encrypt.Enrypt(windowsServer.Password);
         }
         var result = await TblWindowsServer.Insert(windowsServer, false).ExecuteAsync().ConfigureAwait(false);
     }
 }