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(); }