Moved repository interfaces to application layer, created blank visa requests handler

This commit is contained in:
2024-08-15 18:22:25 +03:00
parent c1a4acf414
commit b02e30ba2a
10 changed files with 34 additions and 20 deletions

View File

@@ -1,4 +1,5 @@
using Domains.ApplicantDomain;
using ApplicationLayer.Common;
using Domains.ApplicantDomain;
using Infrastructure.Database.Generic;
using Microsoft.EntityFrameworkCore;

View File

@@ -1,7 +0,0 @@
using Domains.ApplicantDomain;
using Infrastructure.Database.Generic;
namespace Infrastructure.Database.Applicants.Repositories;
/// Repository pattern for <see cref="Applicant"/>
public interface IApplicantsRepository : IGenericRepository<Applicant> { }

View File

@@ -1,4 +1,5 @@
using Domains;
using ApplicationLayer.Common;
using Domains;
using Infrastructure.Database.GeneralExceptions;
using Microsoft.EntityFrameworkCore;

View File

@@ -1,36 +0,0 @@
using Domains;
namespace Infrastructure.Database.Generic;
/// <summary>
/// Generic repository pattern
/// </summary>
/// <typeparam name="T">Entity type</typeparam>
public interface IGenericRepository<T> where T : class, IEntity
{
/// Get all entities from data storage
Task<List<T>> GetAllAsync(CancellationToken cancellationToken);
/// Get one entity with specific id
/// <param name="id">Identifier of entity</param>
Task<T> GetOneAsync(Guid id, CancellationToken cancellationToken);
/// Add entity to storage
/// <param name="entity">Entity to add</param>
Task AddAsync(T entity, CancellationToken cancellationToken);
/// <summary>
/// Update entity in storage
/// </summary>
/// <param name="entity">Entity to update</param>
Task UpdateAsync(T entity, CancellationToken cancellationToken);
/// <summary>
/// Remove entity from storage
/// </summary>
/// <param name="entity">Entity to remove</param>
void Remove(T entity);
/// Save changes in storage
Task SaveAsync(CancellationToken cancellationToken);
}

View File

@@ -1,6 +1,6 @@
using Domains.LocationDomain;
using Infrastructure.Database.Generic;
using ApplicationLayer.Common;
using Domains.LocationDomain;
namespace Infrastructure.Database.Locations.Repositories.Cities;
public interface ICitiesRepository : IGenericRepository<City> { }
public interface ICitiesRepository : IGenericRepository<City> { }

View File

@@ -1,6 +1,6 @@
using Domains.LocationDomain;
using Infrastructure.Database.Generic;
using ApplicationLayer.Common;
using Domains.LocationDomain;
namespace Infrastructure.Database.Locations.Repositories.Countries;
public interface ICountriesRepository : IGenericRepository<Country> { }
public interface ICountriesRepository : IGenericRepository<Country> { }

View File

@@ -1,5 +1,5 @@
using Domains.VisaApplicationDomain;
using Infrastructure.Database.Generic;
using ApplicationLayer.Common;
using Domains.VisaApplicationDomain;
namespace Infrastructure.Database.VisaApplications.Repositories;