Esempio n. 1
0
        public MeasurementFileFormat GetMeasurements(Gateway gateway, KellerDevice device)
        {
            var reply        = SendGetMeasurementRequest(gateway, device);
            var kellerFormat = _mapper.Map(reply);

            kellerFormat.Header.SerialNumber       = device.SerialNumber;
            kellerFormat.Header.DeviceName         = device.Name;
            kellerFormat.Header.DeviceType         = device.DeviceType;
            kellerFormat.Header.UniqueSerialNumber = MeasurementFileFormatHelper.GenerateUniqueSerialNumber(kellerFormat.Header, device.EUI);
            kellerFormat.Header.RecordId           = MeasurementFileFormatHelper.GenerateRecordId(kellerFormat.Header);
            kellerFormat.Header.CustomAttributes   = new MeasurementFileFormatCustomAttributes
            {
                RecordName  = MeasurementFileFormatHelper.GenerateDefaultRecordName(kellerFormat.Header),
                RecordNotes = string.Empty,
            };

            return(kellerFormat);
        }
        private void InitializeConfig()
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <DeviceListItem, KellerDevice>()
                .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
                .ForMember(dest => dest.SerialNumber, opt => opt.MapFrom(src => src.SerialNumber.ToString()))
                .ForMember(dest => dest.UniqueSerialNumber, opt => opt.MapFrom(src => MeasurementFileFormatHelper.GenerateUniqueSerialNumber(src.DeviceType, src.SerialNumber.ToString(), src.DevEui)))
                .ForMember(dest => dest.DeviceType, opt => opt.MapFrom(src => src.DeviceType))
                .ForMember(dest => dest.FirstMeasurement, opt =>
                {
                    opt.MapFrom(src => src.FirstMeasurementTime.ToDateTime());
                    opt.NullSubstitute(DateTime.MinValue);
                })
                .ForMember(dest => dest.LastMeasurement, opt =>
                {
                    opt.MapFrom(src => src.LastMeasurementTime.ToDateTime());
                    opt.NullSubstitute(DateTime.MaxValue);
                })
                .ForMember(dest => dest.Description, opt => opt.MapFrom(src => src.Description))
                .ForMember(dest => dest.NumberOfMeasurements, opt => opt.MapFrom(src => (int)src.NumberOfMeasurements))
                .ForMember(dest => dest.EUI, opt => opt.MapFrom(src => src.DevEui));
            });

            _mapper = config.CreateMapper();
        }