public async Task <TeamAgentModel?> GetTeamAgent(string agentId) { LoggingService.Trace("Querying TeamAgentsDatabase.GetTeamAgent"); if (string.IsNullOrEmpty(agentId)) { return(null); } var databaseConnection = await GetDatabaseConnection <TeamAgentDatabaseModel>().ConfigureAwait(false); var dbLock = databaseConnection.GetConnection().Lock(); try { var teamAgentDatabaseModel = databaseConnection.GetConnection().Get <TeamAgentDatabaseModel>(agentId); return(teamAgentDatabaseModel != null? TeamAgentDatabaseModel.ToTeamAgentModel(teamAgentDatabaseModel) : null); } catch (Exception e) { LoggingService.Error(e, "Error Querying TeamAgentsDatabase.GetTeamAgent"); return(null); } finally { dbLock.Dispose(); } }
public async Task <int> SaveTeamAgentsModels(IList <TeamAgentModel> agents) { LoggingService.Trace("Querying TeamAgentsDatabase.SaveTeamAgentsModels"); var databaseConnection = await GetDatabaseConnection <TeamAgentDatabaseModel>().ConfigureAwait(false); var dbLock = databaseConnection.GetConnection().Lock(); try { var teamAgentDatabaseModels = new List <TeamAgentDatabaseModel>( agents.Select(model => TeamAgentDatabaseModel.ToTeamAgentDatabaseModel(model))); databaseConnection.GetConnection().InsertOrReplaceAllWithChildren(teamAgentDatabaseModels, true); return(0); } catch (Exception e) { LoggingService.Error(e, "Error Querying TeamAgentsDatabase.SaveTeamAgentsModels"); return(1); } finally { dbLock.Dispose(); } }
public async Task <int> SaveTeamAgentModel(TeamAgentModel teamAgentModel) { LoggingService.Trace("Querying TeamAgentsDatabase.SaveTeamAgentModel"); var databaseConnection = await GetDatabaseConnection <TeamAgentDatabaseModel>().ConfigureAwait(false); var dbLock = databaseConnection.GetConnection().Lock(); try { var teamAgentDatabaseModel = TeamAgentDatabaseModel.ToTeamAgentDatabaseModel(teamAgentModel); databaseConnection.GetConnection().InsertOrReplace(teamAgentDatabaseModel); return(0); } catch (Exception e) { LoggingService.Error(e, "Error Querying TeamAgentsDatabase.SaveTeamAgentModel"); return(1); } finally { dbLock.Dispose(); } }
public async Task <List <TeamAgentModel> > GetAgentsInTeams(IList <string> teamIds) { LoggingService.Trace("Querying TeamAgentsDatabase.GetAgentsInTeams"); if (teamIds.IsNullOrEmpty()) { return(new List <TeamAgentModel>()); } var databaseConnection = await GetDatabaseConnection <TeamAgentDatabaseModel>().ConfigureAwait(false); var dbLock = databaseConnection.GetConnection().Lock(); try { var teamAgentDatabaseModels = databaseConnection.GetConnection().GetAllWithChildren <TeamAgentDatabaseModel>(); return(teamAgentDatabaseModels? .Where(x => teamIds.Any(id => x.Teams.Any(t => t.TeamId.Equals(id)))) .Select(x => TeamAgentDatabaseModel.ToTeamAgentModel(x)) .ToList() ?? new List <TeamAgentModel>()); } catch (Exception e) { LoggingService.Error(e, "Error Querying TeamAgentsDatabase.GetAgentsInTeams"); return(new List <TeamAgentModel>()); } finally { dbLock.Dispose(); } }
public static TeamAgentModel ToTeamAgentModel(TeamAgentDatabaseModel teamAgentDatabaseModel) { return(new TeamAgentModel { Id = teamAgentDatabaseModel.AgentId, Name = teamAgentDatabaseModel.Name, Level = teamAgentDatabaseModel.Level, Enlid = teamAgentDatabaseModel.Enlid, Pic = teamAgentDatabaseModel.Pic, RocksVerified = teamAgentDatabaseModel.RocksVerified, VVerified = teamAgentDatabaseModel.VVerified, Blacklisted = teamAgentDatabaseModel.Blacklisted, Squad = teamAgentDatabaseModel.Squad, State = teamAgentDatabaseModel.State, Lat = teamAgentDatabaseModel.Lat, Lng = teamAgentDatabaseModel.Lng, Date = teamAgentDatabaseModel.Date, ShareWD = teamAgentDatabaseModel.ShareWD, LoadWD = teamAgentDatabaseModel.LoadWD, LastUpdatedAt = teamAgentDatabaseModel.LastUpdatedAt }); }