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); }
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); }
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)); }
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); } }