|
|
@ -8,7 +8,7 @@ public static class ActivityMapper
|
|
|
|
{
|
|
|
|
{
|
|
|
|
private static GenericMapper<Activity, ActivityDto> _mapper = new();
|
|
|
|
private static GenericMapper<Activity, ActivityDto> _mapper = new();
|
|
|
|
|
|
|
|
|
|
|
|
public static Activity ToModel(this ActivityDto activityDto)
|
|
|
|
public static Activity ToModel(this ActivityDto activityDto, User user)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Func<ActivityDto, Activity> create = activity => new Activity
|
|
|
|
Func<ActivityDto, Activity> create = activity => new Activity
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -30,12 +30,15 @@ public static class ActivityMapper
|
|
|
|
|
|
|
|
|
|
|
|
Action<ActivityDto, Activity> link = (activity, model) =>
|
|
|
|
Action<ActivityDto, Activity> link = (activity, model) =>
|
|
|
|
{
|
|
|
|
{
|
|
|
|
model.HeartRates.AddRange(activity.HeartRates.ToModels(activityDto.Id).ToArray());
|
|
|
|
if (activity.DataSource != null)
|
|
|
|
if (activity.DataSource != null) model.DataSource = activity.DataSource.ToModel();
|
|
|
|
model.DataSource = user.DataSources.FirstOrDefault(ds => ds.Id == activity.DataSource.Id);
|
|
|
|
model.Athlete = activity.Athlete.ToModel();
|
|
|
|
model.Athlete = user;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
return activityDto.ToT(_mapper, create, link);
|
|
|
|
var act = activityDto.ToT(_mapper, create, link);
|
|
|
|
|
|
|
|
act.HeartRates.AddRange(activityDto.HeartRates.ToModels(act).ToList());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return act;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static ActivityDto ToDto(this Activity model)
|
|
|
|
public static ActivityDto ToDto(this Activity model)
|
|
|
@ -55,7 +58,8 @@ public static class ActivityMapper
|
|
|
|
Maximum = activity.Maximum,
|
|
|
|
Maximum = activity.Maximum,
|
|
|
|
Minimum = activity.Minimum,
|
|
|
|
Minimum = activity.Minimum,
|
|
|
|
AverageTemperature = activity.AverageTemperature,
|
|
|
|
AverageTemperature = activity.AverageTemperature,
|
|
|
|
HasAutoPause = activity.HasAutoPause
|
|
|
|
HasAutoPause = activity.HasAutoPause,
|
|
|
|
|
|
|
|
AthleteId = activity.Athlete.Id
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
Action<Activity, ActivityDto> link = (activity, dto) =>
|
|
|
|
Action<Activity, ActivityDto> link = (activity, dto) =>
|
|
|
@ -68,8 +72,8 @@ public static class ActivityMapper
|
|
|
|
return model.ToU(_mapper, create, link);
|
|
|
|
return model.ToU(_mapper, create, link);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static IEnumerable<Activity> ToModels(this IEnumerable<ActivityDto> dtos)
|
|
|
|
public static IEnumerable<Activity> ToModels(this IEnumerable<ActivityDto> dtos, User user)
|
|
|
|
=> dtos.Select(dto => dto.ToModel());
|
|
|
|
=> dtos.Select(dto => dto.ToModel(user));
|
|
|
|
|
|
|
|
|
|
|
|
public static IEnumerable<ActivityDto> ToDtos(this IEnumerable<Activity> models)
|
|
|
|
public static IEnumerable<ActivityDto> ToDtos(this IEnumerable<Activity> models)
|
|
|
|
=> models.Select(model => model.ToDto());
|
|
|
|
=> models.Select(model => model.ToDto());
|
|
|
|