Files
parr_api/PARR.API/MappingProfiles/Resolvers/RobotTaskScheduleGenerationTimeResolver.cs

29 lines
1.1 KiB
C#

using AutoMapper;
using PARR.API.Contracts.V1.Responses;
using PARR.BLL.Helpers;
using PARR.DAL.Contracts;
using PARR.DAL.Models;
using PARR.DAL.TransformServices;
namespace PARR.API.MappingProfiles.Resolvers
{
public class RobotTaskScheduleGenerationTimeResolver : IValueResolver<RobotConfiguration, RobotTaskScheduleResponse, string>
{
private readonly SettingsFromDb settingsFromDb;
private readonly INextRunModifierService nextRunModifierService;
public RobotTaskScheduleGenerationTimeResolver(SettingsFromDb settingsFromDb, INextRunModifierService nextRunModifierService)
{
this.settingsFromDb = settingsFromDb;
this.nextRunModifierService = nextRunModifierService;
}
public string Resolve(RobotConfiguration source, RobotTaskScheduleResponse destination, string destMember, ResolutionContext context)
{
var nextRunForRobot = nextRunModifierService.GetNextRunByAccountRobotTimeZone(source.Template!.NextRun);
return EsppScheduleHelpers.GetGenerationTime(nextRunForRobot);
}
}
}