public async Task DeleteLogFileMonitorState(LogFileMonitorStateDto model) { var tableOperation = TableOperation.Retrieve <LogFileMonitorStateEntity>("state", model.FileMonitorId.ToString()); var result = await _stateTable.ExecuteAsync(tableOperation); if (result.HttpStatusCode == 404) { return; } var logFileMonitorStateEntity = (LogFileMonitorStateEntity)result.Result; var operation = TableOperation.Delete(logFileMonitorStateEntity); await _stateTable.ExecuteAsync(operation); }
public async Task UpdateState(LogFileMonitorStateDto model) { try { var logFileMonitorStateEntity = new LogFileMonitorStateEntity(model); var operation = TableOperation.InsertOrMerge(logFileMonitorStateEntity); await _stateTable.ExecuteAsync(operation); } catch (Exception e) { Console.WriteLine(e); throw; } }
public LogFileMonitorStateEntity(LogFileMonitorStateDto model) { RowKey = model.FileMonitorId.ToString(); PartitionKey = "state"; ServerId = model.ServerId; GameType = model.GameType; ServerTitle = model.ServerTitle; FilePath = model.FilePath; FtpHostname = model.FtpHostname; FtpUsername = model.FtpUsername; FtpPassword = model.FtpPassword; RemoteSize = model.RemoteSize; LastReadAttempt = model.LastReadAttempt; LastRead = model.LastRead; PlayerCount = model.PlayerCount; }
public async Task <List <LogFileMonitorStateDto> > GetLogFileMonitorStates(FileMonitorFilterModel filterModel) { var query = new TableQuery <LogFileMonitorStateEntity>().AsTableQuery().ApplyFilter(filterModel); var results = new List <LogFileMonitorStateDto>(); TableContinuationToken continuationToken = null; do { var queryResult = await _stateTable.ExecuteQuerySegmentedAsync(query, continuationToken); foreach (var entity in queryResult) { var fileMonitorStateDto = new LogFileMonitorStateDto { FileMonitorId = Guid.Parse(entity.RowKey), ServerId = entity.ServerId, GameType = entity.GameType, ServerTitle = entity.ServerTitle, FilePath = entity.FilePath, FtpHostname = entity.FtpHostname, FtpUsername = entity.FtpUsername, FtpPassword = entity.FtpPassword, RemoteSize = entity.RemoteSize, LastReadAttempt = entity.LastReadAttempt, LastRead = entity.LastRead, PlayerCount = entity.PlayerCount }; results.Add(fileMonitorStateDto); } continuationToken = queryResult.ContinuationToken; } while (continuationToken != null); return(results); }