You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.4 KiB
71 lines
2.4 KiB
using Entities;
|
|
using Model;
|
|
using Shared;
|
|
|
|
namespace EFMappers;
|
|
|
|
public static class ActivityMapper
|
|
{
|
|
private static GenericMapper<Activity, ActivityEntity> _mapper = new GenericMapper<Activity, ActivityEntity>();
|
|
// ! RESET
|
|
// ? Quand on fait appel au reset ?
|
|
// * Apres des saves changing ou rollback.
|
|
public static void Reset()
|
|
{
|
|
_mapper.Reset();
|
|
}
|
|
public static Activity? ToModel(this ActivityEntity entity)
|
|
{
|
|
// return entity.ToModel();
|
|
return entity.ToT(_mapper, activity => new Activity (
|
|
entity.IdActivity,
|
|
entity.Type,
|
|
new DateTime(entity.Date.Year, entity.Date.Month, entity.Date.Day),
|
|
new DateTime().Add(entity.StartTime.ToTimeSpan()),
|
|
new DateTime().Add(entity.EndTime.ToTimeSpan()),
|
|
entity.EffortFelt,
|
|
entity.Variability,
|
|
entity.Variance,
|
|
entity.StandardDeviation,
|
|
entity.Average,
|
|
entity.Maximum,
|
|
entity.Minimum,
|
|
entity.AverageTemperature,
|
|
entity.HasAutoPause));
|
|
// ! regarder a ce que le model est bien les relation comme l'EF
|
|
// ), (activity, entity) => activity.Id = entity.IdActivity);
|
|
|
|
}
|
|
// dictionnaire;
|
|
|
|
|
|
public static ActivityEntity? ToEntity(this Activity model)
|
|
{
|
|
// return model.ToEntity();
|
|
return model.ToU(_mapper, activityEntity => new ActivityEntity
|
|
{
|
|
IdActivity = model.Id,
|
|
Type = model.Type,
|
|
Date = DateOnly.FromDateTime(model.Date),
|
|
StartTime = TimeOnly.FromDateTime(model.StartTime),
|
|
EndTime = TimeOnly.FromDateTime(model.EndTime),
|
|
EffortFelt = model.Effort,
|
|
Variability = model.Variability,
|
|
Variance = model.Variance,
|
|
StandardDeviation = model.StandardDeviation,
|
|
Average = model.Average,
|
|
Maximum = model.Maximum,
|
|
Minimum = model.Minimum,
|
|
AverageTemperature = model.AverageTemperature,
|
|
HasAutoPause = model.HasAutoPause
|
|
}
|
|
// ! regarder a ce que le model est bien les relation comme l'EF
|
|
);
|
|
}
|
|
|
|
public static IEnumerable<Activity> ToModels(this IEnumerable<ActivityEntity> entities)
|
|
=> entities.Select(a => a.ToModel());
|
|
|
|
public static IEnumerable<ActivityEntity> ToEntities(this IEnumerable<Activity> models)
|
|
=> models.Select(a => a.ToEntity());
|
|
} |