WIP
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ROLAC.API.Data;
|
||||
using ROLAC.API.DTOs.Disbursement;
|
||||
using ROLAC.API.Entities;
|
||||
|
||||
namespace ROLAC.API.Services;
|
||||
|
||||
public class ChurchProfileService : IChurchProfileService
|
||||
{
|
||||
private readonly AppDbContext _db;
|
||||
public ChurchProfileService(AppDbContext db) => _db = db;
|
||||
|
||||
public async Task<ChurchProfileDto> GetAsync()
|
||||
{
|
||||
var p = await GetOrCreateAsync();
|
||||
return new ChurchProfileDto
|
||||
{
|
||||
Id = p.Id, Name = p.Name, Address = p.Address, City = p.City, State = p.State,
|
||||
ZipCode = p.ZipCode, BankName = p.BankName, BankAccountNumber = p.BankAccountNumber,
|
||||
BankRoutingNumber = p.BankRoutingNumber, NextCheckNumber = p.NextCheckNumber,
|
||||
};
|
||||
}
|
||||
|
||||
public async Task UpdateAsync(UpdateChurchProfileRequest r)
|
||||
{
|
||||
var p = await GetOrCreateAsync();
|
||||
p.Name = r.Name; p.Address = r.Address; p.City = r.City; p.State = r.State;
|
||||
p.ZipCode = r.ZipCode; p.BankName = r.BankName; p.BankAccountNumber = r.BankAccountNumber;
|
||||
p.BankRoutingNumber = r.BankRoutingNumber; p.NextCheckNumber = r.NextCheckNumber;
|
||||
await _db.SaveChangesAsync();
|
||||
}
|
||||
|
||||
private async Task<ChurchProfile> GetOrCreateAsync()
|
||||
{
|
||||
var p = await _db.ChurchProfiles.OrderBy(x => x.Id).FirstOrDefaultAsync();
|
||||
if (p is null)
|
||||
{
|
||||
p = new ChurchProfile { Name = "Church", NextCheckNumber = 1001 };
|
||||
_db.ChurchProfiles.Add(p);
|
||||
await _db.SaveChangesAsync();
|
||||
}
|
||||
return p;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user