public async Task <IActionResult> GetTableData(BoardTableModel boardTableViewModel) { switch (boardTableViewModel.TableType) { case TableType.CELEBRATION: var celebrationData = await GetViewModel <CelebrationViewModel>(boardTableViewModel); return(Json(celebrationData)); case TableType.WIP: var wipData = await GetViewModel <WIPViewModel>(boardTableViewModel); return(Json(wipData)); case TableType.NEWIMPOP: var newImpOpData = await GetViewModel <NewImpOpViewModel>(boardTableViewModel); return(Json(newImpOpData)); case TableType.IMPIDEAS: var impIdeasData = await GetViewModel <ImpIdeasImplementedViewModel>(boardTableViewModel); return(Json(impIdeasData)); } return(Json("No table found.")); }
public async Task <IActionResult> GetAuditData(BoardTableModel boardTableViewModel) { var search = boardTableViewModel.Search?.ToUpper().Trim(); var table = _applicationDbContext.Audits.OrderByDescending(a => a.ID); var total = await table.CountAsync(); var data = table.Skip(boardTableViewModel.Offset).Take(boardTableViewModel.Limit); if (!string.IsNullOrWhiteSpace(search)) { data = data.Where(a => a.KeyValues.ToUpper().Contains(search) || a.NewValues.ToUpper().Contains(search) || a.OldValues.ToUpper().Contains(search) || a.State.ToUpper().Contains(search) || a.TableName.ToUpper().Contains(search) || a.Username.ToUpper().Contains(search) || a.DateTime.ToString().ToUpper().Contains(search)); } var list = await data.ToListAsync(); foreach (var audit in list) { audit.OldValues = HttpUtility.HtmlEncode(audit.OldValues); audit.NewValues = HttpUtility.HtmlEncode(audit.NewValues); } return(Json(new AuditViewModel { Total = total, Audits = list })); }
public async Task <IActionResult> SearchBoards(BoardTableModel boardTableModel) { var user = await _userManager.GetUserAsync(User); var adminRoleID = (await _applicationDbContext.Roles.SingleOrDefaultAsync(r => r.Name.Equals("Admin"))).Id; var isAdmin = await _applicationDbContext.UserRoles.AnyAsync(r => r.UserId.Equals(user.Id) && r.RoleId.Equals(adminRoleID)); var unitsAccess = await _applicationDbContext.UnitAccesses.Where(u => u.UserID.Equals(user.Id)).Select(u => u.UnitID).ToListAsync(); var search = boardTableModel.Search?.ToUpper().Trim(); if (!string.IsNullOrWhiteSpace(search)) { if (isAdmin) { var units = _applicationDbContext.Units.Where(u => u.Name.ToUpper().Contains(search)); var boards = _applicationDbContext.Boards.Where(b => b.Name.ToUpper().Contains(search)).Include(b => b.Unit); return(Json(new HomeIndexViewModel { Units = await units.ToListAsync(), Boards = await boards.ToListAsync() })); } else { var units = _applicationDbContext.Units.Where(u => u.Name.ToUpper().Contains(search)); var boards = _applicationDbContext.Boards.Where(b => b.Name.ToUpper().Contains(search) && unitsAccess.Contains(b.UnitID)).Include(b => b.Unit); return(Json(new HomeIndexViewModel { Units = await units.ToListAsync(), Boards = await boards.ToListAsync() })); } } if (isAdmin) { return(Json(new HomeIndexViewModel { Units = await _applicationDbContext.Units.ToListAsync(), Boards = await _applicationDbContext.Boards.ToListAsync() })); } else { return(Json(new HomeIndexViewModel { Units = await _applicationDbContext.Units.ToListAsync(), Boards = await _applicationDbContext.Boards.Where(b => unitsAccess.Contains(b.UnitID)).ToListAsync() })); } }
public async Task <IActionResult> GetUserData(BoardTableModel boardTableViewModel) { var search = boardTableViewModel.Search?.ToUpper().Trim(); var table = _applicationDbContext.Users; var total = await table.CountAsync(); var data = table.Skip(boardTableViewModel.Offset).Take(boardTableViewModel.Limit); var adminRoleID = (await _applicationDbContext.Roles.SingleOrDefaultAsync(r => r.Name.Equals("Admin"))).Id; var staffRoleID = (await _applicationDbContext.Roles.SingleOrDefaultAsync(r => r.Name.Equals("Staff"))).Id; List <UserViewModel> userViewModels = new List <UserViewModel>(); foreach (var applicationUser in table) { List <AdminUnitViewModel> adminUnitViewModels = new List <AdminUnitViewModel>(); foreach (var unit in _applicationDbContext.Units) { adminUnitViewModels.Add(new AdminUnitViewModel { ID = unit.ID, Name = unit.Name, HasAccess = _applicationDbContext.UnitAccesses.Any(u => u.UserID.Equals(applicationUser.Id) && u.UnitID.Equals(unit.ID)) }); } userViewModels.Add(new UserViewModel { ID = applicationUser.Id, Username = applicationUser.UserName, IsAdmin = await _applicationDbContext.UserRoles.AnyAsync(r => r.UserId.Equals(applicationUser.Id) && r.RoleId.Equals(adminRoleID)), IsStaff = await _applicationDbContext.UserRoles.AnyAsync(r => r.UserId.Equals(applicationUser.Id) && r.RoleId.Equals(staffRoleID)), AdminUnitViewModels = adminUnitViewModels }); } return(Json(new UsersViewModel { Total = total, UserViewModels = userViewModels })); }
public async Task <T> GetViewModel <T>(BoardTableModel boardTableViewModel) { return((T) await GetViewModel(boardTableViewModel)); }
public async Task <object> GetViewModel(BoardTableModel boardTableViewModel) { var user = await _userManager.GetUserAsync(User); var search = boardTableViewModel.Search?.ToUpper().Trim(); if (boardTableViewModel.TableType == TableType.CELEBRATION) { var table = _applicationDbContext.Celebrations.Where(c => c.BoardID == boardTableViewModel.BoardID); var total = await table.CountAsync(); //var data = table.Skip(boardTableViewModel.Offset).Take(boardTableViewModel.Limit); table = table.Sort(typeof(Celebration), boardTableViewModel.Sort, boardTableViewModel.Order); if (!string.IsNullOrWhiteSpace(search)) { table = table.Where(c => c.Who.ToUpper().Contains(search) || c.What.ToUpper().Contains(search) || c.Why.ToUpper().Contains(search)); } return(new CelebrationViewModel { Total = total, Celebrations = await table.ToListAsync() }); } if (boardTableViewModel.TableType == TableType.WIP) { var table = _applicationDbContext.WIPs.Where(c => c.BoardID == boardTableViewModel.BoardID); var total = await table.CountAsync(); //var data = table.Skip(boardTableViewModel.Offset).Take(boardTableViewModel.Limit); table = table.Sort(typeof(WIP), boardTableViewModel.Sort, boardTableViewModel.Order); if (!string.IsNullOrWhiteSpace(search?.ToUpper().Trim())) { table = table.Where(w => w.Why.ToUpper().Contains(search) || w.Updates.ToUpper().Contains(search) || w.StrategicGoals.ToUpper().Contains(search) || w.StaffWorkingOnOpportunity.ToUpper().Contains(search) || w.Saftey.ToUpper().Contains(search) || w.Problem.ToUpper().Contains(search) || w.Name.ToUpper().Contains(search) || w.JustDoIt.ToUpper().Contains(search) || w.EightWs.ToUpper().Contains(search)); } return(new WIPViewModel { Total = total, WIPs = await table.ToListAsync() }); } if (boardTableViewModel.TableType == TableType.NEWIMPOP) { var table = _applicationDbContext.NewImpOps.Where(c => c.BoardID == boardTableViewModel.BoardID); var total = await table.CountAsync(); //var data = table.Skip(boardTableViewModel.Offset).Take(boardTableViewModel.Limit); table = table.Sort(typeof(NewImpOp), boardTableViewModel.Sort, boardTableViewModel.Order); if (!string.IsNullOrWhiteSpace(search?.ToUpper().Trim())) { table = table.Where(w => w.Legend.ToUpper().Contains(search) || w.PersonIdentifyingOpportunity.ToUpper().Contains(search) || w.Problem.ToUpper().Contains(search) || w.StaffWorkingOnOpportunity.ToUpper().Contains(search) || w.StrategicGoals.ToUpper().Contains(search) || w.EightWs.ToUpper().Contains(search) || w.JustDoIt.ToUpper().Contains(search)); } return(new NewImpOpViewModel { Total = total, NewImpOps = await table.ToListAsync() }); } if (boardTableViewModel.TableType == TableType.IMPIDEAS) { var table = _applicationDbContext.ImpIdeasImplemented.Where(c => c.BoardID == boardTableViewModel.BoardID); var total = await table.CountAsync(); //var data = table.Skip(boardTableViewModel.Offset).Take(boardTableViewModel.Limit); table = table.Sort(typeof(ImpIdeasImplemented), boardTableViewModel.Sort, boardTableViewModel.Order); if (!string.IsNullOrWhiteSpace(search?.ToUpper().Trim())) { table = table.Where(w => w.Name.ToUpper().Contains(search) || w.Problem.ToUpper().Contains(search) || w.Owner.ToUpper().Contains(search) || w.Pillar.ToUpper().Contains(search) || w.EightWs.ToUpper().Contains(search) || w.JustDoIt.ToUpper().Contains(search) || w.Solution.ToUpper().Contains(search) || w.DateEnterIntoDatabase.ToUpper().Contains(search)); } return(new ImpIdeasImplementedViewModel { Total = total, ImpIdeasImplementeds = await table.ToListAsync() }); } return(null); }
public async Task <IActionResult> GetChangeRequestData(BoardTableModel boardTableViewModel) { var search = boardTableViewModel.Search?.ToUpper().Trim(); var table = _applicationDbContext.ChangeRequests; var total = await table.CountAsync(); var data = table.Skip(boardTableViewModel.Offset).Take(boardTableViewModel.Limit); if (!string.IsNullOrWhiteSpace(search?.ToUpper().Trim())) { data = data.Where(d => d.TableName.ToString().ToUpper().Contains(search) || d.Username.ToUpper().Contains(search) || d.Values.ToUpper().Contains(search) || d.ChangeRequestType.ToString().ToUpper().Contains(search) || d.AssociatedName.ToUpper().Contains(search) || d.Board.Name.ToUpper().Contains(search) || d.Board.Unit.Name.ToUpper().Contains(search)); } data = data.Include(d => d.Board).Include(d => d.Board.Unit); List <ApproveViewModel> approveViewModels = new List <ApproveViewModel>(); foreach (var changeRequest in data) { var previousValues = ""; if (changeRequest.ChangeRequestType == ChangeRequestType.MODIFY) { dynamic json = new JObject(); json.Name = changeRequest.AssociatedName; if (changeRequest.TableName == TableType.CELEBRATION) { var celebration = _applicationDbContext.Celebrations.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); var property = celebration.GetType().GetProperty(changeRequest.AssociatedName, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); json.Value = HttpUtility.HtmlEncode(property.GetValue(celebration, null)) ?? ""; } if (changeRequest.TableName == TableType.WIP) { var wip = _applicationDbContext.WIPs.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); var property = wip.GetType().GetProperty(changeRequest.AssociatedName, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); json.Value = HttpUtility.HtmlEncode(property.GetValue(wip, null)) ?? ""; } if (changeRequest.TableName == TableType.NEWIMPOP) { var newImpOp = _applicationDbContext.NewImpOps.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); var property = newImpOp.GetType().GetProperty(changeRequest.AssociatedName, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); json.Value = HttpUtility.HtmlEncode(property.GetValue(newImpOp, null)) ?? ""; } if (changeRequest.TableName == TableType.IMPIDEAS) { var impIdeasImplemented = _applicationDbContext.ImpIdeasImplemented.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); var property = impIdeasImplemented.GetType().GetProperty(changeRequest.AssociatedName, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); json.Value = HttpUtility.HtmlEncode(property.GetValue(impIdeasImplemented, null)) ?? ""; } previousValues = json.ToString(); } if (changeRequest.ChangeRequestType == ChangeRequestType.DELETE) { dynamic json = new JObject(); if (changeRequest.TableName == TableType.CELEBRATION) { var celebration = _applicationDbContext.Celebrations.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); json.id = celebration.ID; json.who = celebration.Who; json.what = celebration.What; json.why = celebration.Why; json.date = celebration.Date; json.BoardID = celebration.BoardID; } if (changeRequest.TableName == TableType.WIP) { var wip = _applicationDbContext.WIPs.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); json.id = wip.ID; json.saftey = wip.Saftey; json.name = wip.Name; json.date = wip.Date; json.problem = wip.Problem; json.eightWs = wip.EightWs; json.strategicGoals = wip.StrategicGoals; json.isPtFamilyInvovlmentOpportunity = wip.IsPtFamilyInvovlmentOpportunity; json.pickChart = wip.PickChart; json.dateAssigned = wip.DateAssigned; json.staffWorkingOnOpportunity = wip.StaffWorkingOnOpportunity; json.why = wip.Why; json.justDoIt = wip.JustDoIt; json.updates = wip.Updates; json.BoardID = wip.BoardID; } if (changeRequest.TableName == TableType.NEWIMPOP) { var newImpOp = _applicationDbContext.NewImpOps.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); json.id = newImpOp.ID; json.legend = newImpOp.Legend; json.personIdentifyingOpportunity = newImpOp.PersonIdentifyingOpportunity; json.dateIdentified = newImpOp.DateIdentified; json.problem = newImpOp.Problem; json.staffWorkingOnOpportunity = newImpOp.StaffWorkingOnOpportunity; json.strategicGoals = newImpOp.StrategicGoals; json.isPtFamilyInvovlmentOpportunity = newImpOp.IsPtFamilyInvovlmentOpportunity; json.eightWs = newImpOp.EightWs; json.pickChart = newImpOp.PickChart; json.justDoIt = newImpOp.JustDoIt; json.BoardID = newImpOp.BoardID; } if (changeRequest.TableName == TableType.IMPIDEAS) { var impIdeasImplemented = _applicationDbContext.ImpIdeasImplemented.SingleOrDefault(c => c.ID == changeRequest.AssociatedID); json.id = impIdeasImplemented.ID; json.name = impIdeasImplemented.Name; json.date = impIdeasImplemented.Date; json.problem = impIdeasImplemented.Problem; json.owner = impIdeasImplemented.Owner; json.pillar = impIdeasImplemented.Pillar; json.isPtFamilyInvovlmentOpportunity = impIdeasImplemented.IsPtFamilyInvovlmentOpportunity; json.eightWs = impIdeasImplemented.EightWs; json.pickChart = impIdeasImplemented.PickChart; json.justDoIt = impIdeasImplemented.JustDoIt; json.solution = impIdeasImplemented.Solution; json.dateComplete = impIdeasImplemented.DateComplete; json.workCreated = impIdeasImplemented.WorkCreated; json.processObservationCreated = impIdeasImplemented.ProcessObservationCreated; json.dateEnterIntoDatabase = impIdeasImplemented.DateEnterIntoDatabase; json.BoardID = impIdeasImplemented.BoardID; } previousValues = HttpUtility.HtmlEncode(json.ToString()); } approveViewModels.Add(new ApproveViewModel { ID = changeRequest.ID, Username = changeRequest.Username, ChangeRequestType = changeRequest.ChangeRequestType, TableName = changeRequest.TableName.ToString(), AssociatedID = changeRequest.AssociatedID, AssociatedName = changeRequest.AssociatedName, Values = changeRequest.Values, BoardName = changeRequest.Board.Name, UnitName = changeRequest.Board.Unit.Name, PreviousValues = previousValues }); } return(Json(new ChangeRequestViewModel { Total = total, ChangeRequests = approveViewModels })); }