Created Woodpecker CI/CD deployment
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

- Created Dockerfile for packing up API and Web projects as Docker image
This commit is contained in:
2023-03-27 21:48:25 -05:00
parent baf38aa3cd
commit 456b8ef75b
143 changed files with 30917 additions and 18248 deletions

View File

@ -0,0 +1,57 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using YABA.Models.Interfaces;
namespace YABA.Data.Context
{
public class YABAReadWriteContext : YABABaseContext
{
public YABAReadWriteContext() : base() { }
public YABAReadWriteContext(DbContextOptions<YABABaseContext> options) : base(options)
{
ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll;
}
public override int SaveChanges()
{
var dateCreatedTrackableEntries = ChangeTracker
.Entries()
.Where(e => e.Entity is IDateCreatedTrackable && e.State == EntityState.Added);
foreach (var entry in dateCreatedTrackableEntries)
((IDateCreatedTrackable)entry.Entity).CreatedOn = DateTimeOffset.UtcNow;
var dateModifiedTrackableItems = ChangeTracker
.Entries()
.Where(e => e.Entity is IDateModifiedTrackable && (e.State == EntityState.Modified || e.State == EntityState.Added));
foreach (var entry in dateModifiedTrackableItems)
((IDateModifiedTrackable)entry.Entity).LastModified = DateTimeOffset.UtcNow;
return base.SaveChanges();
}
public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
{
var dateCreatedTrackableEntries = ChangeTracker
.Entries()
.Where(e => e.Entity is IDateCreatedTrackable && e.State == EntityState.Added);
foreach (var entry in dateCreatedTrackableEntries)
((IDateCreatedTrackable)entry.Entity).CreatedOn = DateTimeOffset.UtcNow;
var dateModifiedTrackableItems = ChangeTracker
.Entries()
.Where(e => e.Entity is IDateModifiedTrackable && (e.State == EntityState.Modified || e.State == EntityState.Added));
foreach (var entry in dateModifiedTrackableItems)
((IDateModifiedTrackable)entry.Entity).LastModified = DateTimeOffset.UtcNow;
return base.SaveChangesAsync(cancellationToken);
}
}
}