using AsbCloudApp.Data.SAUB;
using AsbCloudApp.Repositories;
using AsbCloudApp.Services;
using AsbCloudDb.Model;
using Mapster;

namespace AsbCloudInfrastructure.Services.SAUB
{

    public class TelemetryDataSpinService : TelemetryDataBaseService<TelemetryDataSpinDto, TelemetryDataSpin>
    {
        public TelemetryDataSpinService(
            IAsbCloudDbContext db,
            ITelemetryService telemetryService,
            ITelemetryDataCache<TelemetryDataSpinDto> telemetryDataCache)
            : base(db, telemetryService, telemetryDataCache)
        { }

        public override TelemetryDataSpin Convert(TelemetryDataSpinDto src, double timezoneOffset)
        {
            var entity = src.Adapt<TelemetryDataSpin>();
            entity.DateTime = src.DateTime.ToUtcDateTimeOffset(timezoneOffset);
            return entity;
        }

        public override TelemetryDataSpinDto Convert(TelemetryDataSpin src, double timezoneOffset)
        {
            var dto = src.Adapt<TelemetryDataSpinDto>();
            dto.DateTime = src.DateTime.ToRemoteDateTime(timezoneOffset);
            return dto;
        }
    }

}