using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using EnVisage.Models; namespace EnVisage.Code.BLL { public interface ITeamManager { DbSet DataTable { get; } void AddCapacityToTeam(Guid expCatId, Guid teamId, List values, bool isPlanned, bool skipWeekendingsValidation); Dictionary> GetECsByTeamResources(List teamIds); Guid?[] GetPlannedCapacityCategoriesIds(Guid teamId); List GetProjectsIds(IEnumerable teams); Dictionary> GetRelationsWithScenariosTree(List teams, ScenarioType? scenarioType, ScenarioStatus? scenarioStatus); TeamModel GetTeamByName(string name); Dictionary GetTeamNames(List teams); List GetTeamsAllocation(List teams, List scenarios, List expenditureCategories, DateTime? startDate, DateTime? endDate); Dictionary>>> GetTeamsAllocationTree(List teams, List scenarios, List expenditureCategories, DateTime? startDate, DateTime? endDate); List GetTeamsByCompanies(Guid userId, List companies); List GetTeamsByCompanyId(Guid companyId); List GetTeamsByCompanyName(string CompanyName); IQueryable GetTeamsByExpenditureCategory(Guid expCatId, Guid? userId); List GetTeamsByProject(Guid projectId); List GetTeamsByUser(Guid userId); List GetTeamsByUserFiltered(string userId, List resources); List GetTeamsByUserFiltered(string userId, List teams, List views); List GetTeamsByUserFiltered(string userId, List teams, List views, List companies); List GetTeamsByViews(List views); List GetTeamsByViewsByUser(List views, Guid userId); List GetTeamsInfo(List teamIds, List fiscalCalendar); List GetTeamsInfoByUser(string userId, List teamIds, List viewIds, List fiscalCalendar); Dictionary GetTeamsUOM(List teams, DateTime datePoint); List GetTeamsWithPermissionsByCurrentUser(List teamIds); List GetTeamsWithPermissionsByUser(string userId, List teamIds); TeamModel LoadTeamModel(Guid teamId); IQueryable LoadTeams(IEnumerable teams); List LoadTeamsWithResourcesByActualCapacityScenarios(List expCatIds, List actualCapacityScenarioIds); IList LoadTeamsWithResourcesByUser(Guid? userId, List teams = null); TeamWithResourcesModel LoadTeamWithResourcesById(Guid teamId); void RemoveCapacityFromTeam(Guid expCatId, Guid teamId, List values, bool isPlanned, bool skipWeekendingsValidation); Team Save(TeamModel model); Team Save(TeamModel model, bool saveAsNew); } }