Adding
This commit is contained in:
+282
@@ -0,0 +1,282 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.API.Collections.RepoApi.Exceptions;
|
||||
using LCU.API.Collections.RepoApi.Factories;
|
||||
using LCU.Shared.Collections.RepoApiLib.Formatting;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Reporting.Responses;
|
||||
using LCU.Shared.Collections.RepoApiLib.Repositories;
|
||||
using Serilog;
|
||||
|
||||
namespace LCU.API.Collections.RepoApi.Services.Reporting
|
||||
{
|
||||
public class AuctionReportingService : IAuctionReportingService
|
||||
{
|
||||
private readonly IReportingRepository _reportingRepository;
|
||||
|
||||
public AuctionReportingService(IReportingRepository reportingRepository)
|
||||
{
|
||||
_reportingRepository = reportingRepository;
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAssignedBalance(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateRepoed(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
reportData,
|
||||
"Auctions",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.Balance,
|
||||
(reportEntry) => reportEntry.AuctionName,
|
||||
(reportEntry) => reportEntry.DateRepoed,
|
||||
(reportEntry) => reportEntry.RepoId),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.RepoCompany(),
|
||||
StdReportEntryColumns.DateRepoed(),
|
||||
StdReportEntryColumns.DateEnteredAutoIMS(),
|
||||
StdReportEntryColumns.ScheduledSaleDate())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Gross Active Balance Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAssignedCollateralCount(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateRepoed(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumber,
|
||||
reportData,
|
||||
"Auctions",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => 1,
|
||||
(reportEntry) => reportEntry.AuctionName,
|
||||
(reportEntry) => reportEntry.DateRepoed,
|
||||
(reportEntry) => reportEntry.RepoId),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.DateRepoed(),
|
||||
StdReportEntryColumns.Grade(),
|
||||
StdReportEntryColumns.FloorPrice(),
|
||||
StdReportEntryColumns.Auction())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Active Inventory Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetSalePriceReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateSoldInAutoIMS(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
reportData,
|
||||
"Auctions",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.GrossSalePrice,
|
||||
(reportEntry) => reportEntry.AuctionName,
|
||||
(reportEntry) => reportEntry.SoldDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.Grade(),
|
||||
StdReportEntryColumns.FloorPrice(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.DateSold(),
|
||||
StdReportEntryColumns.GrossSalePrice(),
|
||||
StdReportEntryColumns.GrossPercentFloor(),
|
||||
StdReportEntryColumns.NetPercentFloor(),
|
||||
StdReportEntryColumns.TotalCharges())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failture Retrieving Sold Price Report.");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAuctionFeeReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateSoldInAutoIMS(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
reportData,
|
||||
"Auctions",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.TotalCharges,
|
||||
(reportEntry) => reportEntry.AuctionName,
|
||||
(reportEntry) => reportEntry.SoldDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.DateSold(),
|
||||
StdReportEntryColumns.TotalCharges())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failture Retrieving Auction Fee Report.");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAvgDaysAssignedToSold(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateSoldInAutoIMS(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumberAvg,
|
||||
reportData,
|
||||
"Auctions",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) =>
|
||||
{
|
||||
if (reportEntry.SoldDate != null && reportEntry.DateEnteredAutoIMS != null)
|
||||
{
|
||||
return (decimal) (reportEntry.SoldDate.Value - reportEntry.DateEnteredAutoIMS.Value).TotalDays;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
(reportEntry) => reportEntry.AuctionName,
|
||||
(reportEntry) => reportEntry.SoldDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.DateEnteredAutoIMS("Date Assigned"),
|
||||
StdReportEntryColumns.DateSold(),
|
||||
StdReportEntryColumns.AutoIMSAssignmentToSold("Days Assigned to Sold"))
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failture Retrieving Avg. Days Assigned to Sold Report.");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAvgNetOfFloor(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateSoldInAutoIMS(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.PercentageAvg,
|
||||
reportData,
|
||||
"Auctions",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.NetPercentFloor,
|
||||
(reportEntry) => reportEntry.AuctionName,
|
||||
(reportEntry) => reportEntry.SoldDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.NetPercentFloor(),
|
||||
StdReportEntryColumns.DateSold())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failture Retrieving Avg. Days Assigned to Sold Report.");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Reporting.Responses;
|
||||
|
||||
namespace LCU.API.Collections.RepoApi.Services.Reporting
|
||||
{
|
||||
public interface IAuctionReportingService
|
||||
{
|
||||
Task<ReportTableResponse> GetAssignedBalance(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAssignedCollateralCount(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetSalePriceReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAuctionFeeReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAvgDaysAssignedToSold(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAvgNetOfFloor(DateTime lowDateTime, DateTime highDateTime);
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Reporting.Responses;
|
||||
|
||||
namespace LCU.API.Collections.RepoApi.Services.Reporting
|
||||
{
|
||||
public interface ILandmarkReportingService
|
||||
{
|
||||
Task<ReportTableResponse> GetIsActiveAccountReport(DateTime reportingRequestLowDate, DateTime reportingRequestHighDate);
|
||||
Task<ReportTableResponse> GetIsClosedAccountReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAvgDaysRepoToSoldReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetRedemptionCountReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAvgDaysDelqWhenAddedReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetCountOfSalesReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAvgSurplusReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetRepoBalanceReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetRedemptionBalanceReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Reporting.Responses;
|
||||
|
||||
namespace LCU.API.Collections.RepoApi.Services.Reporting
|
||||
{
|
||||
public interface IRepoCompanyReportingService
|
||||
{
|
||||
Task<ReportTableResponse> GetAssignmentCountReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetRepoedCountReport(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAvgDaysAssignedToRepoed(DateTime lowDateTime, DateTime highDateTime);
|
||||
Task<ReportTableResponse> GetAssignedBalance(DateTime lowDateTime, DateTime highDateTime);
|
||||
}
|
||||
}
|
||||
+474
@@ -0,0 +1,474 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.API.Collections.RepoApi.Exceptions;
|
||||
using LCU.API.Collections.RepoApi.Factories;
|
||||
using LCU.Shared.Collections.RepoApiLib.Formatting;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Reporting.Responses;
|
||||
using LCU.Shared.Collections.RepoApiLib.Repositories;
|
||||
using Serilog;
|
||||
|
||||
namespace LCU.API.Collections.RepoApi.Services.Reporting
|
||||
{
|
||||
public class LandmarkReportingService : ILandmarkReportingService
|
||||
{
|
||||
private readonly IReportingRepository _reportingRepository;
|
||||
private const string RedeemedStatus = "REDEEMED";
|
||||
|
||||
public LandmarkReportingService(IReportingRepository reportingRepository)
|
||||
{
|
||||
_reportingRepository = reportingRepository;
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetIsActiveAccountReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetActiveAccounts();
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
DataTable = new DataTable()
|
||||
{
|
||||
Headers = new string[]
|
||||
{
|
||||
"Member Name", "Account No", "Status", "Days In Status", "Days Delinquent", "Last Payment Amount", "Last Payment Date",
|
||||
"Delinquent Amount", "Repo Type", "Balance", "Account Code", "Bankruptcy", "Collector", "Year", "Make", "Model",
|
||||
"Grade", "Floor Price", "Auction House", "Date Entered AutoIMS","Sold Date", "Gross % Floor", "Net % Floor", "Gross Sale Price",
|
||||
"Total Charges", "Repo Company", "Date Assigned", "Date Repoed", "Scheduled Sale Date"
|
||||
},
|
||||
Rows = reportData.Select(reportRow => new RepoAccountReferenceRow()
|
||||
{
|
||||
RepoId = reportRow.RepoId,
|
||||
Cells = new ReportCell[]
|
||||
{
|
||||
ReportCellFormatting.CreateStringCell(reportRow.IndividualName),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.AccountNo),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Status),
|
||||
ReportCellFormatting.CreateIntCell(reportRow.DaysInStatus),
|
||||
ReportCellFormatting.CreateIntCell(reportRow.DaysDelinquent),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.LastPaymentAmount),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.LastPaymentDate),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.DelinquentAmount),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.RepoType),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.Balance),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.AccountTypeCode),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Bankruptcy),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Collector),
|
||||
ReportCellFormatting.CreateIntCell(reportRow.Year),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Make),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Model),
|
||||
ReportCellFormatting.CreateDecimalCell(reportRow.Grade),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.FloorPrice),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.AuctionHouse),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.DateEnteredAutoIMS),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.SoldDate),
|
||||
ReportCellFormatting.CreatePercentageCell(reportRow.GrossPercentFloor),
|
||||
ReportCellFormatting.CreatePercentageCell(reportRow.NetPercentFloor),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.GrossSalePrice),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.TotalCharges),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.RepoCompany),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.DateAssigned),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.DateRepoed),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.ScheduledSaleDate)
|
||||
}
|
||||
})
|
||||
}
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Is Active Account Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetIsClosedAccountReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetClosedAccounts(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
DataTable = new DataTable()
|
||||
{
|
||||
Headers = new string[]
|
||||
{
|
||||
"Member Name", "Account No", "Date Closed", "Status", "Days In Status", "Days Delinquent", "Last Payment Amount", "Last Payment Date",
|
||||
"Delinquent Amount", "Repo Type", "Balance", "Account Code", "Bankruptcy", "Collector", "Year", "Make", "Model",
|
||||
"Grade", "Floor Price", "Auction House", "Date Entered AutoIMS","Sold Date", "Gross % Floor", "Net % Floor", "Gross Sale Price",
|
||||
"Total Charges", "Repo Company", "Date Assigned", "Date Repoed", "Scheduled Sale Date"
|
||||
},
|
||||
Rows = reportData.Select(reportRow => new RepoAccountReferenceRow()
|
||||
{
|
||||
RepoId = reportRow.RepoId,
|
||||
Cells = new ReportCell[]
|
||||
{
|
||||
ReportCellFormatting.CreateStringCell(reportRow.IndividualName),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.AccountNo),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.DateClosed),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Status),
|
||||
ReportCellFormatting.CreateIntCell(reportRow.DaysInStatus),
|
||||
ReportCellFormatting.CreateIntCell(reportRow.DaysDelinquent),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.LastPaymentAmount),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.LastPaymentDate),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.DelinquentAmount),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.RepoType),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.Balance),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.AccountTypeCode),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Bankruptcy),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Collector),
|
||||
ReportCellFormatting.CreateIntCell(reportRow.Year),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Make),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.Model),
|
||||
ReportCellFormatting.CreateDecimalCell(reportRow.Grade),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.FloorPrice),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.AuctionHouse),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.DateEnteredAutoIMS),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.SoldDate),
|
||||
ReportCellFormatting.CreatePercentageCell(reportRow.GrossPercentFloor),
|
||||
ReportCellFormatting.CreatePercentageCell(reportRow.NetPercentFloor),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.GrossSalePrice),
|
||||
ReportCellFormatting.CreateCurrencyCell(reportRow.TotalCharges),
|
||||
ReportCellFormatting.CreateStringCell(reportRow.RepoCompany),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.DateAssigned),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.DateRepoed),
|
||||
ReportCellFormatting.CreateDateCell(reportRow.ScheduledSaleDate)
|
||||
}
|
||||
})
|
||||
}
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Is Closed Account Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAvgDaysRepoToSoldReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByStatusChangeInPeriod("SOLD", lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumberAvg,
|
||||
reportData,
|
||||
"Sold Accounts",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) =>
|
||||
{
|
||||
if (reportEntry.FilteredStatusChangeDate != null && reportEntry.DateRepoed != null)
|
||||
{
|
||||
return (decimal)(reportEntry.FilteredStatusChangeDate.Value - reportEntry.DateRepoed.Value).TotalDays;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
(reportEntry) => null,
|
||||
(reportEntry) => reportEntry.FilteredStatusChangeDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysCurrentDelq(),
|
||||
StdReportEntryColumns.DaysDelqWhenAdded(),
|
||||
StdReportEntryColumns.LastPaymentAmount(),
|
||||
StdReportEntryColumns.LastPaymentDate(),
|
||||
StdReportEntryColumns.DelinquentAmount(),
|
||||
StdReportEntryColumns.RepoType(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.RepoCompany(),
|
||||
StdReportEntryColumns.RepoDuration(),
|
||||
StdReportEntryColumns.DateAssigned(),
|
||||
StdReportEntryColumns.DateRepoed(),
|
||||
StdReportEntryColumns.FilteredStatusChangeDate("Date Sold"))
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Avg Days Repot to Sold Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetRedemptionCountReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByStatusChangeInPeriod(RedeemedStatus, lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumber,
|
||||
reportData,
|
||||
"Redemptions",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => 1,
|
||||
(reportEntry) => null,
|
||||
(reportEntry) => reportEntry.FilteredStatusChangeDate,
|
||||
(reportEntry) => $"{reportEntry.RepoId}_{reportEntry.FilteredStatusChangeDate}",
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entity) => entity.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.DaysCurrentDelq(),
|
||||
StdReportEntryColumns.LastPaymentDate(),
|
||||
StdReportEntryColumns.LastPaymentDate(),
|
||||
StdReportEntryColumns.DelinquentAmount(),
|
||||
StdReportEntryColumns.RepoType(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.Grade(),
|
||||
StdReportEntryColumns.FloorPrice(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.DateEnteredAutoIMS(),
|
||||
StdReportEntryColumns.TotalCharges(),
|
||||
StdReportEntryColumns.DateAssigned(),
|
||||
StdReportEntryColumns.RepoDuration(),
|
||||
StdReportEntryColumns.DateRepoed())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Redemption Count Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAvgDaysDelqWhenAddedReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByO4RDate(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumberAvg,
|
||||
reportData,
|
||||
"Accounts",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.DaysDelqWhenAdded,
|
||||
(reportEntry) => null,
|
||||
(reportEntry) => reportEntry.O4RDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(reportRow) => reportRow.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysCurrentDelq(),
|
||||
StdReportEntryColumns.DaysDelqWhenAdded(),
|
||||
StdReportEntryColumns.LastPaymentDate(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.O4RDate())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Avg Days Delq When Added Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetCountOfSalesReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByStatusChangeInPeriod("SOLD", lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumber,
|
||||
reportData,
|
||||
"Sold Accounts",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => 1,
|
||||
(reportEntry) => null,
|
||||
(reportEntry) => reportEntry.FilteredStatusChangeDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.GrossSalePrice(),
|
||||
StdReportEntryColumns.GrossPercentFloor(),
|
||||
StdReportEntryColumns.NetPercentFloor(),
|
||||
StdReportEntryColumns.TotalCharges(),
|
||||
StdReportEntryColumns.FilteredStatusChangeDate("Date Sold"))
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Avg Days Repot to Sold Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAvgSurplusReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateSoldInAutoIMS(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.CurrencyAvg,
|
||||
reportData,
|
||||
"Sold Accounts",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.GrossSalePrice - reportEntry.Balance,
|
||||
(reportEntry) => reportEntry.AuctionName,
|
||||
(reportEntry) => reportEntry.SoldDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(reportRow) => reportRow.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.GrossSalePrice(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.SurplusDeficiency(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.Auction(),
|
||||
StdReportEntryColumns.DateSold())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Avg Surplus or Defiency Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetRepoBalanceReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateRepoed(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
reportData,
|
||||
"Companies",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.Balance,
|
||||
(reportEntry) => reportEntry.RepoCompany,
|
||||
(reportEntry) => reportEntry.DateRepoed,
|
||||
(reportEntry) => reportEntry.RepoId),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(reportRow) => reportRow.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.RepoType(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Repo Balance Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetRedemptionBalanceReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByStatusChangeInPeriod(RedeemedStatus, lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
reportData,
|
||||
"Redeemed Accounts",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.Balance,
|
||||
(reportEntry) => null,
|
||||
(reportEntry) => reportEntry.FilteredStatusChangeDate,
|
||||
(reportEntry) => reportEntry.RepoId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(reportRow) => reportRow.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.FilteredStatusChangeDate("Redeemed On"))
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Redemption Balance Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+188
@@ -0,0 +1,188 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using LCU.API.Collections.RepoApi.Exceptions;
|
||||
using LCU.API.Collections.RepoApi.Factories;
|
||||
using LCU.Shared.Collections.RepoApiLib.Formatting;
|
||||
using LCU.Shared.Collections.RepoApiLib.Models.Reporting.Responses;
|
||||
using LCU.Shared.Collections.RepoApiLib.Repositories;
|
||||
using Serilog;
|
||||
|
||||
namespace LCU.API.Collections.RepoApi.Services.Reporting
|
||||
{
|
||||
public class RepoCompanyReportingService : IRepoCompanyReportingService
|
||||
{
|
||||
private readonly IReportingRepository _reportingRepository;
|
||||
|
||||
public RepoCompanyReportingService(IReportingRepository reportingRepository)
|
||||
{
|
||||
_reportingRepository = reportingRepository;
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAssignedBalance(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateAssigned(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.Currency,
|
||||
reportData,
|
||||
"Repo Companies",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.Balance,
|
||||
(reportEntry) => reportEntry.RepoCompany,
|
||||
(reportEntry) => reportEntry.RepoCompanyAssignmentDate,
|
||||
(reportEntry) => reportEntry.CollateralId),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.RepoCompany(),
|
||||
StdReportEntryColumns.DateAssigned())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Repo Company Active Count Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAssignmentCountReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateAssigned(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumber,
|
||||
reportData,
|
||||
"Repo Companies",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => 1,
|
||||
(reportEntry) => reportEntry.RepoCompany,
|
||||
(reportEntry) => reportEntry.RepoCompanyAssignmentDate,
|
||||
(reportEntry) => reportEntry.CollateralId),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.RepoType(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collector(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.RepoCompany(),
|
||||
StdReportEntryColumns.DateAssigned())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Repo Company Active Count Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetAvgDaysAssignedToRepoed(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateRepoed(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumberAvg,
|
||||
reportData,
|
||||
"Repo Companies",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => reportEntry.RepoDuration,
|
||||
(reportEntry) => reportEntry.RepoCompany,
|
||||
(reportEntry) => reportEntry.DateRepoed,
|
||||
(reportEntry) => reportEntry.CollateralId,
|
||||
false),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(reportRow) => reportRow.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.RepoType(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.RepoCompany(),
|
||||
StdReportEntryColumns.RepoDuration(),
|
||||
StdReportEntryColumns.DateAssigned(),
|
||||
StdReportEntryColumns.DateRepoed())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Avg Days Assigned to Repoed Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ReportTableResponse> GetRepoedCountReport(DateTime lowDateTime, DateTime highDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reportData = await _reportingRepository.GetAccountsByDateRepoed(lowDateTime, highDateTime);
|
||||
|
||||
return new ReportTableResponse()
|
||||
{
|
||||
ReportTable = ReportTableFactory.CreateHistoricalSummationTable(
|
||||
ReportSumType.WholeNumber,
|
||||
reportData,
|
||||
"Repo Companies",
|
||||
lowDateTime,
|
||||
highDateTime,
|
||||
(reportEntry) => 1,
|
||||
(reportEntry) => reportEntry.RepoCompany,
|
||||
(reportEntry) => reportEntry.DateRepoed,
|
||||
(reportEntry) => reportEntry.CollateralId),
|
||||
DataTable = DataTableFormatting.CreateDataTable(
|
||||
reportData,
|
||||
(entry) => entry.RepoId,
|
||||
StdReportEntryColumns.Member(),
|
||||
StdReportEntryColumns.AccountNo(),
|
||||
StdReportEntryColumns.Status(),
|
||||
StdReportEntryColumns.DaysInStatus(),
|
||||
StdReportEntryColumns.RepoType(),
|
||||
StdReportEntryColumns.Balance(),
|
||||
StdReportEntryColumns.AccountCode(),
|
||||
StdReportEntryColumns.Bankruptcy(),
|
||||
StdReportEntryColumns.Collateral(),
|
||||
StdReportEntryColumns.RepoCompany(),
|
||||
StdReportEntryColumns.RepoDuration())
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure retrieving Repo Company Active Count Report");
|
||||
throw new ServerErrorException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user