🐛
continuous-integration/drone/push Build is passing Details

Test_CI
David D'ALMEIDA 1 year ago
parent 597c551875
commit 99889ee41e

@ -7,15 +7,6 @@ namespace EFMappers;
public static class ActivityMapper public static class ActivityMapper
{ {
private static GenericMapper<Activity, ActivityEntity> _mapper = new GenericMapper<Activity, ActivityEntity>(); private static GenericMapper<Activity, ActivityEntity> _mapper = new GenericMapper<Activity, ActivityEntity>();
public static Activity? GetModel(ActivityEntity entity) =>
_mapper.GetT(entity);
public static ActivityEntity? GetEntity(Activity model) =>
_mapper.GetU(model);
public static void Add(Activity model, ActivityEntity entity)
{
var tuple = new Tuple<Activity, ActivityEntity>(model, entity);
_mapper.Add(model, entity);
}
// ! RESET // ! RESET
// ? Quand on fait appel au reset ? // ? Quand on fait appel au reset ?
// * Apres des saves changing ou rollback. // * Apres des saves changing ou rollback.

@ -18,6 +18,4 @@ var app = builder.Build();
init.Configure(app, app.Environment); init.Configure(app, app.Environment);
var context = app.Services.GetService<HeartTrackContext>() ?? app.Services.GetService<TrainingStubbedContext>();
context!.Database.EnsureCreated();
app.Run(); app.Run();

@ -53,7 +53,7 @@ public partial class DbDataManager : IDataManager
try try
{ {
_logger.LogInformation("Adding new activity"); _logger.LogInformation("Adding new activity");
var addedActivity = (await _dataManager.DbContext.AddItem(activity.ToEntity())).ToModel(); var addedActivity = (await _dataManager.DbContext.AddItem(activity.ToEntity()))?.ToModel();
if (addedActivity != null) if (addedActivity != null)
_logger.LogInformation($"Added activity with ID {addedActivity.Id}"); _logger.LogInformation($"Added activity with ID {addedActivity.Id}");
else else
@ -71,14 +71,28 @@ public partial class DbDataManager : IDataManager
{ {
try try
{ {
return activity; _logger.LogInformation($"Updating activity with ID {id}");
// _logger.LogInformation($"Updating activity with ID {id}"); var updatedActivity = await _dataManager.DbContext.UpdateItem<Activity, ActivityEntity>(id, activity, (activity, entity) =>
// var updatedActivity = await _dataManager.DbContext.ActivitiesSet.UpdateItem<ActivityEntity>(_dataManager.DbContext,(await GetActivityByIdAsync(id)).ToEntity(), activity.ToEntity()); {
// if (updatedActivity != null) entity.Type = activity.Type;
// _logger.LogInformation($"Updated activity with ID {id}"); entity.Date = DateOnly.FromDateTime(activity.Date);
// else entity.StartTime = TimeOnly.FromDateTime(activity.StartTime);
// _logger.LogError($"Failed to update activity with ID {id}"); entity.EndTime = TimeOnly.FromDateTime(activity.EndTime);
// return await Task.FromResult(updatedActivity.ToModel()); entity.EffortFelt = activity.Effort;
entity.Variability = activity.Variability;
entity.Variance = activity.Variance;
entity.StandardDeviation = activity.StandardDeviation;
entity.Average = activity.Average;
entity.Maximum = activity.Maximum;
entity.Minimum = activity.Minimum;
entity.AverageTemperature = activity.AverageTemperature;
entity.HasAutoPause = activity.HasAutoPause;
});
if (updatedActivity != null)
_logger.LogInformation($"Updated activity with ID {id}");
else
_logger.LogError($"Failed to update activity with ID {id}");
return await Task.FromResult(updatedActivity!.ToModel());
} }
catch (Exception ex) catch (Exception ex)
{ {

@ -28,21 +28,25 @@ public static class Extensions
return await Task.FromResult(true); return await Task.FromResult(true);
} }
internal static async Task<T?> UpdateItem<T>(this IList<T> collection, T? oldItem, T? newItem) where T : class public static async Task<U?> UpdateItem<T, U>(this HeartTrackContext context, int? id, T? newItem, Action<T, U> updateAction) where T : class where U: class
{ {
// if(oldItem == null || newItem == null) return default(T); var existingT = await context.Set<U>().FindAsync(id);
if (existingT != null && newItem != null)
{
// Appliquer les mises à jour sur l'objet existant en utilisant l'action passée en paramètre
updateAction(newItem, existingT);
// Marquer l'objet comme modifié dans le contexte
context.Update(existingT);
// if(!collection.Contains(oldItem)) // Enregistrer les modifications dans la base de données
// { await context.SaveChangesAsync();
// return default(T); }
// }
// collection.Remove(oldItem!); return existingT;
// await collection.AddItem(newItem!);
// return newItem;
return await Task.FromResult<T?>(default(T));
} }
public static IEnumerable<T> GetItemsWithFilterAndOrdering<T>(this IEnumerable<T> list, Func<T, bool> filter, int index, int count, Enum? orderCriterium, bool descending = false ) where T : class public static IEnumerable<T> GetItemsWithFilterAndOrdering<T>(this IEnumerable<T> list, Func<T, bool> filter, int index, int count, Enum? orderCriterium, bool descending = false ) where T : class
{ {
var filteredList = list.Where(filter); var filteredList = list.Where(filter);

Loading…
Cancel
Save