public dynamic GetDashboard(DashboardInput userInfo) { IDashBoardRepository objDBRepository = new DashboardRepository(); var result = objDBRepository.Get(userInfo); return(result); }
public int UpdateDashboard( DashboardInput input, [CurrentUserGlobalState] CurrentUser user, [Service] IUserRepository repo ) { return(repo.UpdateDashboard(user.UserId, input).Result); }
public async Task <ServiceResponse <dynamic> > GetDashBoardData(DashboardInput dashboardInput) { var response = new ServiceResponse <dynamic>(); try { var user = _context.Users.Find(LoggedInUser); var candidateStatus = await(from x in _context.MasterData join y in _context.MasterDataType on x.type equals y.id where y.name == "JobCandidateStatus" select x).ToListAsync(); var candidates = await(from x in _context.JobCandidates join j in _context.Openings on x.jobid equals j.id where j.country == user.country && (dashboardInput.recruiter == 0 ? true : (dashboardInput.recruiter == x.createdBy || dashboardInput.recruiter == x.modifiedBy)) && (dashboardInput.dateFrom.HasValue ? x.createdDate.Value.Date >= dashboardInput.dateFrom.Value.Date : true) && (dashboardInput.dateTo.HasValue ? x.createdDate.Value.Date <= dashboardInput.dateTo.Value.Date : true) select x).ToListAsync(); var res = (from x in candidateStatus join y in candidates on x.id equals y.status group x by x.name into g select new KeyValuePair <string, int>(g.Key, g.Count())).ToList(); var recruitcare = await(from x in _context.RecruitCare join j in _context.Openings on x.jobid equals j.id where j.country == user.country && (dashboardInput.recruiter == 0 ? true : (dashboardInput.recruiter == x.createdBy || dashboardInput.recruiter == x.modifiedBy)) && (dashboardInput.dateFrom.HasValue ? x.createdDate.Value.Date >= dashboardInput.dateFrom.Value.Date : true) && (dashboardInput.dateTo.HasValue ? x.createdDate.Value.Date <= dashboardInput.dateTo.Value.Date : true) select x).ToListAsync(); var resRec = (from x in candidateStatus join y in recruitcare on x.id equals y.status group x by x.name into g select new KeyValuePair <string, int>(g.Key, g.Count())).ToList(); List <KeyValuePair <string, KeyValuePair <int, int> > > result = new List <KeyValuePair <string, KeyValuePair <int, int> > >(); foreach (var item in candidateStatus) { var count = 0; count = (count + res.FirstOrDefault(x => x.Key == item.name).Value); count = (count + resRec.FirstOrDefault(x => x.Key == item.name).Value); result.Add(new KeyValuePair <string, KeyValuePair <int, int> >(item.name, new KeyValuePair <int, int>(item.id, count))); } response.Data = result;; response.Message = "Data Retrived"; response.Success = true; } catch (Exception ex) { response.Success = false; response.Message = await CustomLog.Log(ex, _context); } return(response); }
public dynamic Get(DashboardInput userInfo) { DSEEntities objEntities = new DSEEntities(); List <Activity> privateActivities = new List <Activity>(); List <Group> userCreatedGroups = new List <Group>(); List <User_Request> userRequests = new List <User_Request>(); List <Activity_Group> groupActivities = new List <Activity_Group>(); List <Group> user_groups = new List <Group>(); var publicActivites = objEntities.Activities.Where(act => act.type == 1).ToList(); var createdActivities = objEntities.Activities.Where(act => act.createdby == userInfo.userId).ToList(); var userGroups = objEntities.User_Group.Where(group => group.user_id == userInfo.userId).ToList(); var user_answer = objEntities.User_Answer.Where(usanswr => usanswr.user_id == userInfo.userId).ToList(); var user_activity = this.getDistinct(user_answer); if (userGroups != null) { foreach (var userGroup in userGroups) { var Group = objEntities.Groups.Where(group => group.id == userGroup.group_id).FirstOrDefault(); user_groups.Add(Group); } } if (userGroups != null) { foreach (var grp in userGroups) { groupActivities = objEntities.Activity_Group.Where(actgrp => actgrp.group_id == grp.group_id).ToList(); } } if (groupActivities != null) { foreach (var grpact in groupActivities) { var activity = objEntities.Activities.Where(act => act.id == grpact.activity_id).FirstOrDefault(); privateActivities.Add(activity); } } if (userInfo.role != 1) { userCreatedGroups = objEntities.Groups.Where(grp => grp.createdby == userInfo.userId).ToList(); } if (userInfo.role == 3) { userRequests = objEntities.User_Request.ToList(); } DashboardOutput objDBOutput = new DashboardOutput(); objDBOutput.groups = userCreatedGroups; objDBOutput.privateActivities = privateActivities; objDBOutput.publicActivities = publicActivites; objDBOutput.requests = userRequests; objDBOutput.createdActitvities = createdActivities; objDBOutput.userAnswer = user_activity; objDBOutput.user_groups = user_groups; return(objDBOutput); }
public async Task <int> CreateDashboard(string userId, DashboardInput input, NpgsqlConnection connection) { string queryString = UserQueryBuilder.CreateDashboardQueryString(input.name, input.description); await using NpgsqlCommand cmd = new NpgsqlCommand(queryString); cmd.Connection = connection; int dashboardId = (int)cmd.ExecuteScalar(); cmd.Parameters.Clear(); string accessQueryString = UserQueryBuilder.InsertUserAccessToDashboardQueryString(userId, dashboardId, input.accessLevel); await executeQuery(connection, accessQueryString); return(dashboardId); }
public async Task <int> UpdateDashboard(string userId, DashboardInput input) { NpgsqlConnection npgsqlConnection = new NpgsqlConnection(_databaseSettings.DatabaseConnectionString); await npgsqlConnection.OpenAsync(); int id = -1; if (input.dashboardId != null) { id = input.dashboardId.GetValueOrDefault(); string queryString = UserQueryBuilder.UpdateDashboardQueryString(userId, id, input.name, input.description); await executeQuery(npgsqlConnection, queryString); } else { id = await CreateDashboard(userId, input, npgsqlConnection); } await npgsqlConnection.CloseAsync(); return(id); }