Ejemplo n.º 1
0
        public async Task <TeamQueryResponse> QueryTeams(TeamQuery query)
        {
            var teams = (await QueryTeams(context, query)).Concat(await QueryTeamAreas(context, query)).ToArray();

            foreach (var team in teams)
            {
                var loadTasks = new List <Task>();
                loadTasks.Add(Task.Run(async() => await context.LoadPropertyAsync(team, nameof(era_essteam.era_ESSTeam_ESSTeamArea_ESSTeamID))));
                loadTasks.Add(Task.Run(async() => await context.LoadPropertyAsync(team, nameof(era_essteam.era_essteamuser_ESSTeamId))));
                await Task.WhenAll(loadTasks.ToArray());
            }

            context.DetachAll();

            return(new TeamQueryResponse {
                Items = mapper.Map <IEnumerable <Team> >(teams)
            });
        }
Ejemplo n.º 2
0
        public async Task <TeamQueryResponse> QueryTeams(TeamQuery query)
        {
            var context = essContextFactory.CreateReadOnly();
            var teams   = (await QueryTeams(context, query)).Concat(await QueryTeamAreas(context, query)).ToArray();

            foreach (var team in teams)
            {
                context.AttachTo(nameof(EssContext.era_essteams), team);
                await context.LoadPropertyAsync(team, nameof(era_essteam.era_ESSTeam_ESSTeamArea_ESSTeamID));

                await context.LoadPropertyAsync(team, nameof(era_essteam.era_essteamuser_ESSTeamId));
            }

            context.DetachAll();

            return(new TeamQueryResponse {
                Items = mapper.Map <IEnumerable <Team> >(teams)
            });
        }
Ejemplo n.º 3
0
        private static async Task <IEnumerable <era_essteam> > QueryTeamAreas(EssContext ctx, TeamQuery query)
        {
            if (string.IsNullOrEmpty(query.AssignedCommunityCode))
            {
                return(Array.Empty <era_essteam>());
            }

            var teamAreas = ctx.era_essteamareas.Where(ta => ta._era_jurisdictionid_value == Guid.Parse(query.AssignedCommunityCode) && ta.statecode == (int)EntityState.Active).ToArray();

            foreach (var ta in teamAreas)
            {
                await ctx.LoadPropertyAsync(ta, nameof(era_essteamarea.era_ESSTeamID));
            }

            var teams = teamAreas.Select(ta => ta.era_ESSTeamID).Where(t => t.statecode == (int)EntityState.Active).ToArray();

            return(await Task.FromResult(teams));
        }
Ejemplo n.º 4
0
        private static async Task <IEnumerable <era_essteam> > QueryTeams(EssContext ctx, TeamQuery query)
        {
            if (!string.IsNullOrEmpty(query.AssignedCommunityCode))
            {
                return(Array.Empty <era_essteam>());
            }

            var teamsQuery = ctx.era_essteams
                             .Expand(t => t.era_ESSTeam_ESSTeamArea_ESSTeamID)
                             .Where(t => t.statecode == (int)EntityState.Active);

            if (!string.IsNullOrEmpty(query.Id))
            {
                teamsQuery = teamsQuery.Where(t => t.era_essteamid == Guid.Parse(query.Id));
            }

            return(await((DataServiceQuery <era_essteam>)teamsQuery).GetAllPagesAsync());
        }