public bool CanUserViewAndEditWorkLog(string userId, int logId) { var department = _departmentsService.GetDepartmentByUserId(userId); var log = _workLogsService.GetWorkLogById(logId); if (department == null || log == null) { return(false); } if (department.IsUserAnAdmin(userId)) { return(true); } if (log.LoggedByUserId != userId) { return(false); } return(true); }
public int GetDepartmentIdForType(NotificationItem ni) { switch ((EventTypes)ni.Type) { case EventTypes.PersonnelStaffingChanged: var state = _userStateService.GetUserStateById(ni.StateId); if (state != null) { var department = _departmentsService.GetDepartmentByUserId(state.UserId, true); if (department != null) { return(department.DepartmentId); } else { return(0); } } else { return(0); } case EventTypes.PersonnelStatusChanged: var status = _actionLogsService.GetActionlogById(ni.StateId); if (status != null) { var department = _departmentsService.GetDepartmentByUserId(status.UserId, true); if (department != null) { return(department.DepartmentId); } else { return(0); } } else { return(0); } case EventTypes.CalendarEventAdded: var cal = _calendarService.GetCalendarItemById(ni.ItemId); if (cal != null) { return(cal.DepartmentId); } else { return(0); } case EventTypes.CalendarEventUpcoming: var calUp = _calendarService.GetCalendarItemById(ni.ItemId); if (calUp != null) { return(calUp.DepartmentId); } else { return(0); } case EventTypes.CalendarEventUpdated: var calUpdate = _calendarService.GetCalendarItemById(ni.ItemId); if (calUpdate != null) { return(calUpdate.DepartmentId); } else { return(0); } case EventTypes.DocumentAdded: var docAdded = _documentsService.GetDocumentById(ni.ItemId); if (docAdded != null) { return(docAdded.DepartmentId); } else { return(0); } case EventTypes.LogAdded: var logAdded = _workLogsService.GetWorkLogById(ni.ItemId); if (logAdded != null) { return(logAdded.DepartmentId); } else { return(0); } case EventTypes.NoteAdded: var noteAdded = _notesService.GetNoteById(ni.ItemId); if (noteAdded != null) { return(noteAdded.DepartmentId); } else { return(0); } case EventTypes.ShiftCreated: var shiftCreated = _shiftsService.GetShiftById(ni.ItemId); if (shiftCreated != null) { return(shiftCreated.DepartmentId); } else { return(0); } case EventTypes.ShiftDaysAdded: var shiftDaysAdded = _shiftsService.GetShiftById(ni.ItemId); if (shiftDaysAdded != null) { return(shiftDaysAdded.DepartmentId); } else { return(0); } case EventTypes.ShiftUpdated: var shiftUpdated = _shiftsService.GetShiftById(ni.ItemId); if (shiftUpdated != null) { return(shiftUpdated.DepartmentId); } else { return(0); } case EventTypes.UnitAdded: var unitAdded = _unitsService.GetUnitById(ni.UnitId); if (unitAdded != null) { return(unitAdded.DepartmentId); } else { return(0); } case EventTypes.UnitStatusChanged: var unitStatusChanged = _unitsService.GetUnitStateById(ni.StateId); if (unitStatusChanged != null) { var unit = _unitsService.GetUnitById(unitStatusChanged.UnitId); if (unit != null) { return(unit.DepartmentId); } else { return(0); } } else { return(0); } } return(0); }