예제 #1
0
        public List <SdkZoneDataDTO> GetFFTZones()
        {
            try
            {
                List <SdkZoneDataDTO> camsGetFFTZonelist = new List <SdkZoneDataDTO>();

                if (cams3SdkUser != null)
                {
                    var camsGetFFTZone = cams3SdkUser.GetZones();
                    if (camsGetFFTZone != null)
                    {
                        foreach (var cntr in camsGetFFTZone)
                        {
                            List <SensorSectionDto> _SensorSections = new List <SensorSectionDto>();

                            foreach (var __SensorSections in cntr.SensorSections)
                            {
                                List <CoordinateDto> Points = new List <CoordinateDto>();
                                foreach (var _cord in __SensorSections.Points)
                                {
                                    CoordinateDto _CoordinateDto = new CoordinateDto {
                                        Alt     = _cord.Alt,
                                        IsEmpty = _cord.IsEmpty,
                                        Lat     = _cord.Lat,
                                        Long    = _cord.Long
                                    };

                                    Points.Add(_CoordinateDto);
                                }
                                SensorSectionDto _SensorSectionDto = new SensorSectionDto {
                                    CableEnd       = __SensorSections.CableEnd,
                                    CableStart     = __SensorSections.CableStart,
                                    Opposite       = __SensorSections.Opposite,
                                    PerimeterEnd   = __SensorSections.PerimeterEnd,
                                    PerimeterStart = __SensorSections.PerimeterStart,
                                    Points         = Points,
                                    Reversed       = __SensorSections.Reversed,
                                    SectionId      = __SensorSections.SectionId,
                                    SensorEndIdx   = __SensorSections.SensorEndIdx,
                                    SensorId       = __SensorSections.SensorId,
                                    SensorStartIdx = __SensorSections.SensorStartIdx,
                                    ServerId       = __SensorSections.ServerId
                                };

                                _SensorSections.Add(_SensorSectionDto);
                            }
                            SdkZoneDataDTO _SdkZoneDataDTO = new SdkZoneDataDTO
                            {
                                Isolated       = cntr.Isolated,
                                Description    = cntr.Description,
                                Id             = cntr.Id,
                                Name           = cntr.Name,
                                SensorSections = _SensorSections
                            };
                            camsGetFFTZonelist.Add(_SdkZoneDataDTO);
                        }

                        return(camsGetFFTZonelist);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(null);
        }
예제 #2
0
        //5
        public void FFTTransactionServiceCreateAlertZoneEx(long eventId, DateTime eventTimeUtc, bool acknowledged, bool active, bool dynamic, SdkCtrlData ctrl, SdkSensorData sensor, SdkZoneData zone, SdkLocationInfo location, string classification, int classConfidenceIndex, string strAlertType)
        {
            try
            {
                SdkCtrlDataDto _SdkCtrlData = null;
                if (ctrl != null)
                {
                    _SdkCtrlData = new SdkCtrlDataDto
                    {
                        Connected   = ctrl.Connected,
                        Description = ctrl.Description,
                        HostName    = ctrl.HostName,
                        Id          = ctrl.Id,
                        IpAddress   = ctrl.IpAddress,
                        Locator     = ctrl.Locator,
                        Name        = ctrl.Name,
                        Port        = ctrl.Port
                    };
                }

                List <CoordinateDto> _DrawingPoints = new List <CoordinateDto>();
                foreach (var _cor in sensor.DrawingPoints)
                {
                    CoordinateDto _CoordinateDto = new CoordinateDto
                    {
                        Alt     = _cor.Alt,
                        IsEmpty = _cor.IsEmpty,
                        Lat     = _cor.Lat,
                        Long    = _cor.Long
                    };
                    _DrawingPoints.Add(_CoordinateDto);
                }
                List <SensorPointDto> _SensorPoints = new List <SensorPointDto>();
                foreach (var _cor in sensor.SensorPoints)
                {
                    CoordinateDto _CoordinateDto = new CoordinateDto
                    {
                        Alt     = _cor.coordinate.Alt,
                        IsEmpty = _cor.coordinate.IsEmpty,
                        Lat     = _cor.coordinate.Lat,
                        Long    = _cor.coordinate.Long
                    };
                    SensorPointDto _SensorPointDto = new SensorPointDto
                    {
                        cableDistance        = _cor.cableDistance,
                        calibrationPoint     = _cor.calibrationPoint,
                        calibrationPointName = _cor.calibrationPointName,
                        coordinate           = _CoordinateDto,
                        id = _cor.id,
                        perimeterDistance = _cor.perimeterDistance,
                        seq = _cor.seq
                    };
                    _SensorPoints.Add(_SensorPointDto);
                }
                SdkSensorDataDto _SdkSensorDataDto = new SdkSensorDataDto
                {
                    ControllerId  = sensor.ControllerId,
                    DrawingPoints = _DrawingPoints,
                    Id            = sensor.Id,
                    Name          = sensor.Name,
                    Number        = sensor.Number,
                    SensorPoints  = _SensorPoints
                };

                List <SensorSectionDto> _SensorSections = new List <SensorSectionDto>();

                foreach (var __SensorSections in zone.SensorSections)
                {
                    List <CoordinateDto> Points = new List <CoordinateDto>();
                    foreach (var _cord in __SensorSections.Points)
                    {
                        CoordinateDto _CoordinateDto = new CoordinateDto
                        {
                            Alt     = _cord.Alt,
                            IsEmpty = _cord.IsEmpty,
                            Lat     = _cord.Lat,
                            Long    = _cord.Long
                        };

                        Points.Add(_CoordinateDto);
                    }
                    SensorSectionDto _SensorSectionDto = new SensorSectionDto
                    {
                        CableEnd       = __SensorSections.CableEnd,
                        CableStart     = __SensorSections.CableStart,
                        Opposite       = __SensorSections.Opposite,
                        PerimeterEnd   = __SensorSections.PerimeterEnd,
                        PerimeterStart = __SensorSections.PerimeterStart,
                        Points         = Points,
                        Reversed       = __SensorSections.Reversed,
                        SectionId      = __SensorSections.SectionId,
                        SensorEndIdx   = __SensorSections.SensorEndIdx,
                        SensorId       = __SensorSections.SensorId,
                        SensorStartIdx = __SensorSections.SensorStartIdx,
                        ServerId       = __SensorSections.ServerId
                    };

                    _SensorSections.Add(_SensorSectionDto);
                }
                SdkZoneDataDTO _SdkZoneDataDTO = new SdkZoneDataDTO
                {
                    Isolated       = zone.Isolated,
                    Description    = zone.Description,
                    Id             = zone.Id,
                    Name           = zone.Name,
                    SensorSections = _SensorSections
                };

                CoordinateDto _CoordinateDtoinfo = new CoordinateDto
                {
                    Alt     = location.Location.Alt,
                    IsEmpty = location.Location.IsEmpty,
                    Lat     = location.Location.Lat,
                    Long    = location.Location.Long
                };
                SdkLocationInfoDto _location = new SdkLocationInfoDto
                {
                    CableDistance           = location.CableDistance,
                    Location                = _CoordinateDtoinfo,
                    LocationWeight          = location.LocationWeight,
                    LocationWeightThreshold = location.LocationWeightThreshold,
                    PerimeterDistance       = location.PerimeterDistance
                };

                //SdkCtrlData _SdkCtrlData, SdkSensorData _SdkSensorDataDto, SdkZoneData _SdkZoneDataDTO, SdkLocationInfo _location
                //    string classification, int classConfidenceIndex, string strAlertType
                FFTCreateAlarmParamDto _FFTCreateAlarmParamDto = new FFTCreateAlarmParamDto
                {
                    acknowledged   = acknowledged,
                    alarmId        = eventId,
                    alarmTimeUtc   = eventTimeUtc.ToString(),
                    ctrl           = _SdkCtrlData,
                    location       = _location,
                    sensor         = _SdkSensorDataDto,
                    zone           = _SdkZoneDataDTO,
                    classification = classification,
                    strAlertType   = strAlertType,
                    functiontype   = "ZoneAlert"
                };
                //call json
                PushDataToFFTTxnService(_FFTCreateAlarmParamDto);
            }
            catch (Exception ex)
            {
            }
        }