public List <UnitStatusResult> GetUnitStatusesForLink(int linkId) { var results = new List <UnitStatusResult>(); var link = _departmentLinksService.GetLinkById(linkId); if (link.DepartmentId != DepartmentId && link.LinkedDepartmentId != DepartmentId) { return(new List <UnitStatusResult>()); } var units = _unitsService.GetAllLatestStatusForUnitsByDepartmentId(link.DepartmentId); var department = _departmentsService.GetDepartmentById(link.DepartmentId, false); foreach (var u in units) { var unitStatus = new UnitStatusResult(); unitStatus.Uid = u.UnitId; unitStatus.Typ = u.State; unitStatus.Tmp = u.Timestamp.TimeConverter(department); if (u.DestinationId.HasValue) { unitStatus.Did = u.DestinationId.Value; } results.Add(unitStatus); } return(results); }
public async Task <ActionResult <List <UnitStatusResult> > > GetUnitStatuses(string activeFilter) { var results = new List <UnitStatusResult>(); string filter = null; string[] activeFilters = null; if (!String.IsNullOrWhiteSpace(activeFilter)) { filter = HttpUtility.UrlDecode(activeFilter); activeFilters = filter.Split(char.Parse("|")); } var filters = await GetFilterOptions(); var units = await _unitsService.GetAllLatestStatusForUnitsByDepartmentIdAsync(DepartmentId); var department = await _departmentsService.GetDepartmentByIdAsync(DepartmentId, false); foreach (var u in units) { var unitStatus = new UnitStatusResult(); unitStatus.Uid = u.UnitId; unitStatus.Typ = u.State; unitStatus.Tmp = u.Timestamp.TimeConverter(department); if (u.DestinationId.HasValue) { unitStatus.Did = u.DestinationId.Value; } if (activeFilters != null) { foreach (var afilter in activeFilters) { var text = GetTextValue(afilter, filters); if (afilter.Substring(0, 2) == "G:") { if (u.Unit != null && u.Unit.StationGroup != null && text == u.Unit.StationGroup.Name) { results.Add(unitStatus); break; } } } } else { results.Add(unitStatus); } } return(Ok(results)); }
public List <UnitStatusResult> GetUnitStatuses() { var results = new List <UnitStatusResult>(); var units = _unitsService.GetAllLatestStatusForUnitsByDepartmentId(DepartmentId); var department = _departmentsService.GetDepartmentById(DepartmentId, false); /* * Parallel.ForEach(units, u => * { * var unitStatus = new UnitStatusResult(); * unitStatus.Uid = u.UnitId; * unitStatus.Typ = u.State; * unitStatus.Tmp = u.Timestamp.TimeConverter(department); * * if (u.DestinationId.HasValue) * unitStatus.Did = u.DestinationId.Value; * * results.Add(unitStatus); * }); */ foreach (var u in units) { var unitStatus = new UnitStatusResult(); unitStatus.Uid = u.UnitId; unitStatus.Typ = u.State; unitStatus.Tmp = u.Timestamp.TimeConverter(department); if (u.DestinationId.HasValue) { unitStatus.Did = u.DestinationId.Value; } results.Add(unitStatus); } return(results); }
public List <UnitStatusResult> GetUnitStatuses(string activeFilter) { var results = new List <UnitStatusResult>(); var filter = HttpUtility.UrlDecode(activeFilter); var activeFilters = filter.Split(char.Parse("|")); var filters = GetFilterOptions(); var units = _unitsService.GetAllLatestStatusForUnitsByDepartmentId(DepartmentId); var department = _departmentsService.GetDepartmentById(DepartmentId, false); Parallel.ForEach(units, u => { var unitStatus = new UnitStatusResult(); unitStatus.Uid = u.UnitId; unitStatus.Typ = u.State; unitStatus.Tmp = u.Timestamp.TimeConverter(department); if (u.DestinationId.HasValue) { unitStatus.Did = u.DestinationId.Value; } foreach (var afilter in activeFilters) { var text = GetTextValue(afilter, filters); if (afilter.Substring(0, 2) == "G:") { if (u.Unit != null && u.Unit.StationGroup != null && text == u.Unit.StationGroup.Name) { results.Add(unitStatus); break; } } } }); /* * foreach (var u in units) * { * var unitStatus = new UnitStatusResult(); * unitStatus.Uid = u.UnitId; * unitStatus.Typ = u.State; * unitStatus.Tmp = u.Timestamp.TimeConverter(Department); * * if (u.DestinationId.HasValue) * unitStatus.Did = u.DestinationId.Value; * * foreach (var afilter in activeFilters) * { * var text = GetTextValue(afilter, filters); * * if (afilter.Substring(0, 2) == "G:") * { * if (u.Unit != null && u.Unit.StationGroup != null && text == u.Unit.StationGroup.Name) * { * results.Add(unitStatus); * break; * } * } * * } * } * */ return(results); }