public async Task <ActionResult <List <UserLogResponse> > > GetUser([FromQuery] MinMaxDate form, string?userId, string?regionId, string?problemId, string projectType) { if (_authService.IsAuthenticate(UserLog.GroupId)) { var list = await _dbContext.Set <UserLog>() .Where(entity => entity.Timestamp <= form.MaxDate && entity.Timestamp >= form.MinDate) .AsNoTracking() .ToListAsync(); var result = new List <UserLogResponse>(); foreach (var userLog in list) { if (userLog.ProjectType.ToLower() == projectType.ToLower() && (regionId == null || userLog.RegionId == regionId) && (problemId == null || userLog.ResolveProblemId == problemId) && (userId == null || userLog.EntityId == userId)) { var userLogResponse = _mapper.Map <UserLogResponse>(userLog); userLogResponse.Type = userLog.Type.GetDescription(); userLogResponse.Timestamp = userLog.Timestamp.ToDescriptionString(); userLogResponse.TargetId = userLog.EntityId; result.Add(userLogResponse); } } return(result); } else { return(Unauthorized()); } }
public async Task <ActionResult> Get <TEntity, TResponse>(int group, MinMaxDate form, string username = "", string password = "") where TEntity : EntityLog where TResponse : TypeAndTimeStamp { _logger.LogInformation(form.ToJson()); if (_authService.IsAuthenticate(group, username, password)) { var list = await _dbContext.Set <TEntity>() .Where(entity => entity.Timestamp <= form.MaxDate && entity.Timestamp >= form.MinDate && entity.Type != LogType.ActivityLog) .AsNoTracking() .ToListAsync(); list.Sort(Utility.CompareEntityLog); var result = new List <TResponse>(); foreach (var entityLog in list) { var entityResponseLog = _mapper.Map <TResponse>(entityLog); entityResponseLog.Type = entityLog.Type.GetDescription(); entityResponseLog.Timestamp = entityLog.Timestamp.ToShortTimeString() + " " + entityLog.Timestamp.ToShortDateString(); result.Add(entityResponseLog); } return(Ok(result)); } else { return(Unauthorized()); } }
GetMonitorRegion([FromQuery] MinMaxDate form, string?regionId, string projectType) { var listEntity = await GetEntity <MonitorRegionLog, MonitorRegionLogResponse>(MonitorRegionLog.GroupId, form, projectType); return(listEntity.Where(entity => (regionId == null || entity.EntityId == regionId)).ToList()); }
GetObjectObserve([FromQuery] MinMaxDate form, string?monitorObjectId, string?regionId, string projectType) { var listEntity = await GetEntity <ObjectObserve, ObjectObserveResponse>(ObjectObserve.GroupId, form, projectType); return(listEntity.Where(entity => (regionId == null || entity.RegionId == regionId) && (monitorObjectId == null || entity.EntityId == monitorObjectId)).ToList()); }
public async Task <ActionResult <List <WarningLogResponse> > > GetWarning([FromQuery] MinMaxDate form, string?regionId, string?warningId, string projectType) { var listEntity = await GetEntity <WarningLog, WarningLogResponse>(ObjectObserve.GroupId, form, projectType); return(listEntity.Where(entity => (regionId == null || entity.RegionId == regionId) && (warningId == null || entity.EntityId == warningId)).ToList()); }
public async Task <ActionResult <List <DroneLogResponse> > > GetDrone([FromQuery] MinMaxDate form, string?droneId, string?regionId, string projectType) { var listEntity = await GetEntity <DroneLog, DroneLogResponse>(DroneLog.GroupId, form, projectType); return(listEntity.Where( entity => (regionId == null || entity.RegionId == regionId) && (droneId == null || entity.EntityId == droneId) ).ToList()); }
public async Task <ActionResult <List <PayloadResponse> > > GetPayload([FromQuery] MinMaxDate form, string?payloadId, string?droneId, string projectType) { var listEntity = await GetEntity <Payload, PayloadResponse>(Payload.GroupId, form, projectType); return(listEntity.Where(entity => (droneId == null || entity.DroneId == droneId) && (payloadId == null || entity.EntityId == payloadId)) .ToList()); }
public async Task <ActionResult <List <ImageLogResponse> > > GetImage([FromQuery] MinMaxDate form, string?droneId, string incidentId, string imageId, string projectType) { var listEntity = await GetEntity <ImageLog, ImageLogResponse>(ImageLog.GroupId, form, projectType); return(listEntity.Where(entity => (incidentId == null || entity.IncidentId == incidentId) && (droneId == null || entity.DroneId == droneId) && (imageId == null || entity.EntityId == imageId)).ToList()); }
public async Task <ActionResult <List <IncidentLogResponse> > > GetIncident([FromQuery] MinMaxDate form, string?incidentId, string?regionId, string projectType) { var listEntity = await GetEntity <IncidentLog, IncidentLogResponse>(ObjectObserve.GroupId, form, projectType); var result = new List <IncidentLogResponse>(); foreach (var incidentLog in listEntity) { if ((regionId == null || incidentLog.RegionId == regionId) && (incidentId == null || incidentLog.EntityId == incidentId)) { result.Add(incidentLog); } } return(result); }
public async Task <List <TResponse> > GetEntity <TEntity, TResponse>(int group, MinMaxDate form, string projectType, string username = "", string password = "") where TEntity : EntityLog where TResponse : TypeAndTimeStamp { _logger.LogInformation(form.ToJson()); if (!_authService.IsAuthenticate(@group, username, password)) { throw new AuthenticationException(); } if (!ProjectType.IsProjectType(projectType)) { _logger.LogInformation($"projectType was wrong {projectType}"); return(new List <TResponse>()); } var list = await _dbContext.Set <TEntity>() .Where(entity => entity.Timestamp <= form.MaxDate && entity.Timestamp >= form.MinDate && entity.ProjectType.ToLower() == projectType.ToLower()) .AsNoTracking() .ToListAsync(); list.Sort(Utility.CompareEntityLog); var result = new List <TResponse>(); foreach (var entityLog in list) { var entityResponseLog = _mapper.Map <TResponse>(entityLog); entityResponseLog.Type = entityLog.Type.GetDescription(); entityResponseLog.Timestamp = entityLog.Timestamp.ToShortTimeString() + " " + entityLog.Timestamp.ToShortDateString(); result.Add(entityResponseLog); } return(result); }
public async Task <ActionResult <List <UavConnectLogResponse> > > GetUavConnectLog([FromQuery] MinMaxDate form, string?uavId, string?regionId, string projectType) { var listEntity = await GetEntity <UavConnectLog, UavConnectLogResponse>(Payload.GroupId, form, projectType); return(listEntity.Where(entity => (regionId == null || entity.RegionId == regionId) && (uavId == null || entity.EntityId == uavId)) .ToList()); }
public async Task <ActionResult> GetStatical([FromQuery] MinMaxDate form) => await Get <StaticalLog, StaticalLogResponse>(StaticalLog.GroupId, form);