public List <UnitState> GetUnitStatesForCall(int departmentId, int callId) { List <int> callEnabledStates = new List <int>(); var states = _customStateService.GetAllCustomStatesForDepartment(departmentId); callEnabledStates.Add((int)UnitStateTypes.Enroute); callEnabledStates.Add((int)UnitStateTypes.Committed); callEnabledStates.Add((int)UnitStateTypes.Manual); callEnabledStates.Add((int)UnitStateTypes.OnScene); callEnabledStates.Add((int)UnitStateTypes.Responding); callEnabledStates.Add((int)UnitStateTypes.Returning); callEnabledStates.Add((int)UnitStateTypes.Released); callEnabledStates.Add((int)UnitStateTypes.Staging); callEnabledStates.Add((int)UnitStateTypes.Available); var nonNullStates = from state in states where state.Details != null select state; callEnabledStates.AddRange(from state in nonNullStates from detail in state.Details where detail.DetailType == (int)CustomStateDetailTypes.Calls || detail.DetailType == (int)CustomStateDetailTypes.CallsAndStations select detail.CustomStateDetailId); var unitStates = (from us in _unitStatesRepository.GetAll() where callEnabledStates.Contains(us.State) && us.DestinationId == callId select us).ToList(); return(unitStates); }
public List <ActionLog> GetActionLogsForCall(int departmentId, int callId) { List <int> callEnabledStates = new List <int>(); var states = _customStateService.GetAllCustomStatesForDepartment(departmentId); callEnabledStates.Add((int)ActionTypes.OnScene); callEnabledStates.Add((int)ActionTypes.RespondingToScene); var nonNullStates = from state in states where state.Details != null select state; callEnabledStates.AddRange(from state in nonNullStates from detail in state.Details where detail.DetailType == (int)CustomStateDetailTypes.Calls || detail.DetailType == (int)CustomStateDetailTypes.CallsAndStations select detail.DetailType); var unitStates = (from us in _actionLogsRepository.GetAll() where callEnabledStates.Contains(us.ActionTypeId) && us.DestinationId == callId select us).ToList(); return(unitStates); }