This commit is contained in:
Zeeshaun
2026-03-13 09:27:34 -05:00
parent 256f579489
commit a675c5f5b0
381 changed files with 20992 additions and 0 deletions
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class AuctionAssignment
{
[Required]
public int ID { get; set; }
[Required]
public string AuctionId { get; set; }
[Required]
public int? RepoId { get; set; }
public string AuctionCustomerNo { get; set; }
public string CollateralVIN { get; set; }
public DateTime? DateSubmitted { get; set; }
public decimal? FloorPrice { get; set; }
public int? FloorPriceResponseCode { get; set; }
public string FloorPriceResponseDescription { get; set; }
public string FloorPriceSubmissionErrors { get; set; }
public int? HoldStatus { get; set; }
public DateTime? HoldUntil { get; set; }
public DateTime? RedeemedDate { get; set; }
public int? VehicleType { get; set; }
public string BodyStyle { get; set; }
public bool? Inoperable { get; set; }
public decimal? RetailValue { get; set; }
public string AuctionNotes { get; set; }
public DateTime? AvailablePickupDate { get; set; }
public DateTime? LegalSaleDate { get; set; }
public int? CleaningLevel { get; set; }
public int? SubmissionResponseCode { get; set; }
public string SubmissionResponseDescription { get; set; }
public string SubmissionErrors { get; set; }
public DateTime? SentTitleDocsDate { get; set; }
public int? TitleSentResponseCode { get; set; }
public string TitleSentResponseDescription { get; set; }
public string TitleSentSubmissionErrors { get; set; }
public bool? AddedThroughRepoDatabase { get; set; }
public bool IsActive { get; set; }
public ImsAutoFileData AutoIMS { get; set; }
public AuctionHouse Auction { get; set; }
public IEnumerable<AuctionAssignmentToCollateral> AuctionAssignmentToCollaterals { get; set; }
public FloorPriceValuesUsed FloorPriceValuesUsed { get; set; }
}
}
@@ -0,0 +1,20 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class AuctionAssignmentNote
{
[Required]
public int Id { get; set; }
[Required]
public int AuctionAssignmentId { get; set; }
[Required]
public string AuctionCustomerNo { get; set; }
public string Origin { get; set; }
public string Writer { get; set; }
public string Type { get; set; }
public string Text { get; set; }
public DateTime? DateWritten { get; set; }
}
}
@@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class AuctionAssignmentToCollateral
{
[Key]
public int AuctionAssignmentId { get; set; }
[Key]
public int CollateralId { get; set; }
public AuctionAssignment AuctionAssignment { get; set; }
public Collateral Collateral { get; set; }
}
}
@@ -0,0 +1,23 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class AuctionHouse
{
[Required]
public string AuctionID { get; set; }
[Required]
public string Name { get; set; }
public string Active { get; set; }
public string Address_Line_1 { get; set; }
public string Address_Line_2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string ZIP { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
public decimal? Latitude { get; set; }
public decimal? Longitude { get; set; }
}
}
@@ -0,0 +1,18 @@
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class AuditRecord
{
public int ID { get; set; }
// Name of object modified
public string ClassName { get; set; }
// category of modification
public string Action { get; set; }
public string Description { get; set; }
public string PerformedBy { get; set; }
public System.DateTime DatePerformed { get; set; }
// The ID representation of the object modified
public string KeyRepresentation { get; set; }
// Don't want to use, but this is a json of the whole object currently
public string PropertyValues { get; set; }
}
}
@@ -0,0 +1,13 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.AutoIms
{
public class FtpConfiguration
{
public string HostName { get; set; }
public string UserName { get; set; }
public int Port { get; set; }
public string ExecutablePath { get; set; }
public string SshHostKeyFingerprint { get; set; }
public string SshPrivateKeyPath { get; set; }
}
}
@@ -0,0 +1,42 @@
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore.Internal;
namespace LCU.API.Internal.RepoApi.Repos.Models.AutoIms
{
public class ImportResultRow
{
public bool Success { get; set; }
public List<string> Messages { get; set; }
public string Description { get; set; }
public ImsAutoFileData Data { get; set; }
public RepoAccount RepoAccount { get; set; }
public string BuildStatusReport(string repoManagerUrl)
{
var report = new List<string>();
var success = Success ? "Success" : "Failure";
if (RepoAccount != null)
{
report.Add(CreateRepoLink(RepoAccount, repoManagerUrl));
}
if(RepoAccount == null && Data != null)
{
report.Add($"Auto IMS Update for {Data.VIN}, no Repo Account.");
}
report.Add($"{success} : {Description}");
if (Messages != null && Messages.Any())
{
report.AddRange(Messages);
}
return report.ToString();
}
public static string CreateRepoLink(RepoAccount account, string repoManagerUrl)
{
var url = repoManagerUrl + account.RepoId;
var link = string.Format("<a href={0}>{1}</a>", url, $"Account {account.RepoId} ({account.AccountNo})") ;
return link;
}
}
}
@@ -0,0 +1,71 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.AutoIms
{
/**
* This models the rows in the CSV File so that they can be different from the rows in SQL
*/
public class ImsAutoFileImportData
{
public string AnnouncedConditions { get; set; }
public string ArbitrationReason { get; set; }
public string AsIs100KMiles { get; set; }
public string AssignmentAccepted { get; set; }
public string AuctionAge { get; set; }
public string AuctionGuideBookPrice { get; set; }
public string BuyerID { get; set; }
public string BuyerName { get; set; }
public string ChargeAmount { get; set; }
public string CheckAmount { get; set; }
public string ClientAge { get; set; }
public string ClientCancelled { get; set; }
public string CollisionDamage { get; set; }
public string InspectedDate { get; set; }
public string DateofLoss { get; set; }
public string DatePickedUp { get; set; }
public string DateEnteredAutoIMS { get; set; }
public string DaysRun { get; set; }
public string DaysRunHighestBidRecordedbyAuction { get; set; }
public string DaystoDelivery { get; set; }
public string Description { get; set; }
public string Drivable { get; set; }
public string FloorPriceAccepted { get; set; }
public string FundsSent { get; set; }
public string GrossPercentFloor { get; set; }
public string HighestBid { get; set; }
public string StatedMileage { get; set; }
public string NetPercentFloor { get; set; }
public string OtherAdvanceFees { get; set; }
public string OTHERTotal { get; set; }
public string OTHERAdvancedOther { get; set; }
public string OTHERAdvancedStorage { get; set; }
public string OTHERAdvancedTow { get; set; }
public string OTHERMiscellaneous { get; set; }
public string SalePrice { get; set; }
public string ScheduledSaleDate { get; set; }
public string SoldDate { get; set; }
public string TitleNumber { get; set; }
public string TitleReceived { get; set; }
public string TitleReturned { get; set; }
public string TitleState { get; set; }
public string TitleStatus { get; set; }
public string TitleStatusfromAuction { get; set; }
public string TotalCharges { get; set; }
public string Operable { get; set; }
public string ShipmentDate { get; set; }
public string Status { get; set; }
public string VIN { get; set; }
public string StorageCost { get; set; }
public string StorageRatePerDay { get; set; }
public string TowCost { get; set; }
public string CustomerAccountNumber { get; set; }
public string DateReceivedFromAutoIMS { get; set; }
public string VehicleDecimalGradeCode { get; set; }
public string VehicleGrade { get; set; }
public string VehicleGradeApprovedCR { get; set; }
public string MMRNationalAdjustedPrice { get; set; }
public string MMRRegionalAdjustedPrice { get; set; }
public string MMR { get; set; }
public string ConditionReportLink { get; set; }
public string CollateralImagePath { get; set; }
public string AuctionAssignmentID { get; set; }
}
}
@@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Newtonsoft.Json;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class Borrower
{
[Required]
public int RepoId { get; set; }
[Required]
public string IndividualId { get; set; }
[Required]
public int OwnershipType { get; set; }
[Required]
public string IndividualName { get; set; }
[ForeignKey("RepoId")]
[JsonIgnore]
public RepoAccount RepoAccount { get; set; }
}
}
@@ -0,0 +1,10 @@
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class ClientError
{
public string Message { get; set; }
public string Name { get; set; }
public string StackTrace { get; set; }
}
}
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Newtonsoft.Json;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class Collateral
{
[Required]
public int CollateralId { get; set; }
[Required]
public int RepoId { get; set; }
public string? Vin { get; set; }
public string? Make { get; set; }
public string? Model { get; set; }
public int? Year { get; set; }
public string? Description { get; set; }
public int? VehicleType { get; set; }
public string? BodyStyle { get; set; }
public bool? Inoperable { get; set; }
public int? CollateralTypeId { get; set; }
public DateTime? RetitledInLandmarkName { get; set; }
public string? RefCollateralId { get; set; }
[ForeignKey("CollateralId")]
public IReadOnlyCollection<RepoCompanySelection> RepoCompanySelections { get; set; }
[ForeignKey("RepoId")]
[JsonIgnore]
public RepoAccount RepoAccount { get; set; }
[JsonIgnore]
public IEnumerable<AuctionAssignmentToCollateral> AuctionAssignmentToCollaterals { get; set; }
}
}
@@ -0,0 +1,35 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class AddressDetail
{
public int AddressId { get; set; }
public string Line1 { get; set; }
public string Line2 { get; set; }
public string Line3 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string ZipCode { get; set; }
public string Country { get; set; }
public string CountyName { get; set; }
public string AddressType { get; set; }
public bool IsPrimary { get; set; }
public bool IsInternational { get; set; }
public int AddressVerification { get; set; }
public string Occupancy { get; set; }
public System.DateTime StartDate { get; set; }
public System.DateTime EndDate { get; set; }
public string LongAddress1 { get; set; }
public string LongAddress2 { get; set; }
public string[] Membership { get; set; }
public string[] CoBorrower { get; set; }
public System.DateTime UseAlternateAsOf { get; set; }
public System.DateTime RestorePrimaryAsOf { get; set; }
public string AlternateType { get; set; }
public string Comments { get; set; }
public string Met2AddressIndicator { get; set; }
public bool UspsVerified { get; set; }
public string AddressMatchStatus { get; set; }
public bool IsHSA { get; set; }
}
}
@@ -0,0 +1,25 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class AppraisalDetail
{
public decimal OriginalAppraisedValue { get; set; }
public string OriginalAppraisedBy { get; set; }
public string OriginalAppraisalType { get; set; }
public System.DateTime OriginalAppraisalDate { get; set; }
public decimal LastAppraisedValue { get; set; }
public string LastAppraisedBy { get; set; }
public string LastAppraisalType { get; set; }
public System.DateTime LastAppraisalDate { get; set; }
public bool OriginalAppraisalProvided { get; set; }
public System.DateTime OriginalDateProvided { get; set; }
public int OriginalProvidedByOperatorID { get; set; }
public string OriginalProvidedByOperatorName { get; set; }
public string OriginalDeliveryMethod { get; set; }
public bool LastAppraisalProvided { get; set; }
public System.DateTime LastDateProvided { get; set; }
public int LastProvidedByOperatorID { get; set; }
public string LastProvidedByOperatorName { get; set; }
public string LastDeliveryMethod { get; set; }
}
}
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class CollateralDetail
{
public int CollateralId { get; set; }
public int OwnerId { get; set; }
public string OwnerName { get; set; }
public string CollateralType { get; set; }
public string NameOnTitle { get; set; }
public string Description { get; set; }
public decimal PurchasePrice { get; set; }
public decimal CurrentValue { get; set; }
public string SourceOfEvaluation { get; set; }
public System.DateTime EvaluationDate { get; set; }
public int ValueVerifiedByOperatorNumber { get; set; }
public string ValueVerifiedByOperatorName { get; set; }
public string VerificationMethod { get; set; }
public System.DateTime VerificationDate { get; set; }
public int VerifiedBy { get; set; }
public string SerialNumber { get; set; }
public Vehicle Vehicle { get; set; }
public OtherCollateral Other { get; set; }
}
}
@@ -0,0 +1,16 @@
using System;
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
// NOTE: This currently does not contain all possible fields.
// Instead, it only contains the fields necessary.
// NOTE NOTE: This class will change heavily.
public class CoreTransaction
{
public decimal? runningBalance { get; set; }
public DateTime? postingDate { get; set; }
public decimal? amount { get; set; }
public string transactionTypeCode { get; set; }
public string transactionTypeDescription { get; set; }
}
}
@@ -0,0 +1,268 @@
using System.Collections.Generic;
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class LoanDetail
{
public long MemberId { get; set; }
public long LoanId { get; set; }
public long ExternalLoanId { get; set; }
public int[] IndividualId { get; set; }
public List<LoanOwner> Borrowers { get; set; }
public string LoanType { get; set; }
public string Title { get; set; }
public string Alerts { get; set; }
public string Product { get; set; }
public int ProductCode { get; set; }
public string Template { get; set; }
public int ProductId { get; set; }
public string ProductDescription { get; set; }
public string ProductCategory { get; set; }
public string ProductClass { get; set; }
public int AccountType { get; set; }
public string Status { get; set; }
public System.DateTime ClosedDate { get; set; }
public string Category { get; set; }
public string Classification { get; set; }
public string MetroAcctType { get; set; }
public string SMSA { get; set; }
public string Officer { get; set; }
public string OtherSecurity { get; set; }
public string NoteNumber { get; set; }
public System.DateTime LastMaintenance { get; set; }
public System.DateTime WrittenOffDate { get; set; }
public string CreditCardNumber { get; set; }
public System.DateTime LastCycleDate { get; set; }
public string LegalDescription { get; set; }
public string PropertyType { get; set; }
public string PurposeCode { get; set; }
public string CollateralCode { get; set; }
public string RefinanceCount { get; set; }
public System.DateTime LastRefinanceDate { get; set; }
public string LdcNumber { get; set; }
public string Messages { get; set; }
public decimal OriginalAmount { get; set; }
public System.DateTime OriginationDate { get; set; }
public decimal Balance { get; set; }
public decimal AvailableBalance { get; set; }
public decimal Limit { get; set; }
public decimal EscrowBalance { get; set; }
public decimal Payoff { get; set; }
public decimal UnappliedFundsBalance { get; set; }
public decimal CashAdvanceBalance { get; set; }
public decimal PurchaseAdvanceBalance { get; set; }
public decimal ActiveAuthorizationAmount { get; set; }
public decimal EscrowDividends { get; set; }
public string PledgeType { get; set; }
public string MiscCharge1 { get; set; }
public string MiscCharge2 { get; set; }
public string MiscCharge3 { get; set; }
public string MiscChargeCode1 { get; set; }
public string MiscChargeCode2 { get; set; }
public string MiscChargeCode3 { get; set; }
public decimal InterestMemoed { get; set; }
public System.DateTime InterestAccruedDate { get; set; }
public decimal PaymentInterestDue { get; set; }
public decimal PayoffInterestDue { get; set; }
public string LateChargeMethod { get; set; }
public decimal LateCharge { get; set; }
public System.DateTime LateChargeDate { get; set; }
public decimal CashAdvance { get; set; }
public string Insurance { get; set; }
public decimal LastStatementLateCharges { get; set; }
public decimal LastStatementMiscFees { get; set; }
public decimal LastStatementPurchaseAdvances { get; set; }
public decimal LastStatementCashAdvances { get; set; }
public decimal LastStatementCashAdvanceFees { get; set; }
public decimal LastStatementMiscDebits { get; set; }
public decimal LastStatementTotalPayments { get; set; }
public decimal LastStatementCreditsPosted { get; set; }
public decimal LastStatementAccruedInterest { get; set; }
public System.DateTime LastStatementDate { get; set; }
public decimal LastStatementPurchaseAdvanceBalance { get; set; }
public decimal LastStatementEndingBalance { get; set; }
public decimal DelinquentAmount { get; set; }
public decimal LastStatementMonthlyMinimum { get; set; }
public decimal LastStatementRequiredDue { get; set; }
public decimal LastStatementRequiredPayment { get; set; }
public decimal ScheduledPayment { get; set; }
public System.DateTime NextDueDate { get; set; }
public decimal PartialPaymentAmount { get; set; }
public System.DateTime PreviousDate { get; set; }
public string PaymentFrequency { get; set; }
public System.DateTime AlignmentDate { get; set; }
public string PaymentMethod { get; set; }
public string SourceAccount { get; set; }
public string ProcessingGroup { get; set; }
public System.DateTime LoanCouponDate { get; set; }
public decimal RequiredPaymentDue { get; set; }
public System.DateTime FirstPaymentDate { get; set; }
public decimal AlternatePaymentAmount { get; set; }
public System.DateTime AlternateBeginDate { get; set; }
public System.DateTime AlternateEndDate { get; set; }
public int PaymentSkips { get; set; }
public decimal FinalPaymentAmount { get; set; }
public System.DateTime FinalPaymentDate { get; set; }
public decimal CycleAmount { get; set; }
public string VariableRatePaymentChange { get; set; }
public string VariableRateCode { get; set; }
public decimal MinimumDue { get; set; }
public decimal FrequencyPayment { get; set; }
public decimal EscrowPayment { get; set; }
public decimal PrincipalAndInterestPayment { get; set; }
public string PaymentLoanDefinitionNumber { get; set; }
public string RateLoanDefinitionNumber { get; set; }
public int VacationWeeks { get; set; }
public int PayrollRepaidWeeklyPaymentCount { get; set; }
public decimal BaseRate { get; set; }
public decimal TieredRateAdj { get; set; }
public decimal ManualRateAdj { get; set; }
public decimal Rate { get; set; }
public decimal ManualRate { get; set; }
public decimal APR { get; set; }
public decimal OriginalInterestRate { get; set; }
public decimal AlternateInterestRate { get; set; }
public System.DateTime LastRateChange { get; set; }
public decimal RealEstateMargin { get; set; }
public string Amortization { get; set; }
public int AmortizationTerm { get; set; }
public int MonthlyTerm { get; set; }
public int NumberOfPayments { get; set; }
public decimal InterestYTD { get; set; }
public decimal InterestPYTD { get; set; }
public decimal InterestDaily { get; set; }
public decimal PrincipalYTD { get; set; }
public decimal PrincipalPYTD { get; set; }
public decimal LateChargeYTD { get; set; }
public decimal LateChargePYTD { get; set; }
public string PaymentHistory { get; set; }
public System.DateTime LastPaymentDue { get; set; }
public int PaymentsPastDue { get; set; }
public int DaysPastDue { get; set; }
public int MonthsPastDue { get; set; }
public decimal CurrentStatementLateCharges { get; set; }
public decimal CurrentStatementMiscFees { get; set; }
public decimal CurrentStatementPurchaseAdvances { get; set; }
public decimal CurrentStatementCashAdvances { get; set; }
public decimal CurrentStatementCashAdvanceFees { get; set; }
public decimal CurrentStatementMiscDebits { get; set; }
public decimal CurrentStatementTotalPayments { get; set; }
public decimal CurrentStatementTotalCredits { get; set; }
public System.DateTime DelinquentPaymentDueDate { get; set; }
public bool IsInactive { get; set; }
public string StatementFrequency { get; set; }
public decimal AppraisedValue { get; set; }
public int LocCycleDay { get; set; }
public bool IgnorePledge { get; set; }
public bool OpenEndPlan { get; set; }
public string OpenEndCategory { get; set; }
public decimal PointsPaid { get; set; }
public decimal CurtailmentAmount { get; set; }
public System.DateTime CurtailmentDate { get; set; }
public System.DateTime InsuranceExpirationDate { get; set; }
public string LifeInsuranceMI { get; set; }
public string DisabilityInsuranceMI { get; set; }
public string LifeActivityInsuranceCode { get; set; }
public string DisabilityActivityInsuranceCode { get; set; }
public bool LoanCoupons { get; set; }
public bool PaidbyGrace { get; set; }
public string EscrowAccount { get; set; }
public bool EscrowInterestPaid { get; set; }
public System.DateTime NextPaymentAdjustmentDate { get; set; }
public decimal EffectivePayment { get; set; }
public decimal InterestRate { get; set; }
public System.DateTime LastPaymentDate { get; set; }
public System.DateTime LastPurchaseDate { get; set; }
public System.DateTime LastCashAdvanceDate { get; set; }
public string BlockCode { get; set; }
public string ReclassCode { get; set; }
public int OutstandingAuthCount { get; set; }
public decimal OutstandingAuthAmount { get; set; }
public string InterestType { get; set; }
public string AlternateLoanNumber { get; set; }
public int ArmIndex { get; set; }
public string DeductionOption { get; set; }
public bool DelinquentPaymentSkips { get; set; }
public bool FirstPayment { get; set; }
public decimal InterestDue { get; set; }
public bool LoanLevelSkips { get; set; }
public bool PaymentReduction { get; set; }
public bool WaiveLateCharge { get; set; }
public int ExcessPaymentTargetAccountId { get; set; }
public long ExcessPaymentMemberId { get; set; }
public bool CustRate { get; set; }
public string IntRateMethod { get; set; }
public decimal Margin { get; set; }
public string Index { get; set; }
public decimal RndFactPct { get; set; }
public string RndFactOpt { get; set; }
public decimal IntRateCeiling { get; set; }
public decimal IntRateFloor { get; set; }
public decimal MaxDnRateChgLife { get; set; }
public decimal MaxUpRateChgLife { get; set; }
public decimal MaxDnRateChgPeriod { get; set; }
public decimal MaxUpRateChgPeriod { get; set; }
public decimal MinDnRateChgPeriod { get; set; }
public decimal MinUpRateChgPeriod { get; set; }
public short PmtAdjPeriod { get; set; }
public short DaysPriorToPeriodicRateAdj { get; set; }
public short DaysPriorToInitialRateAdjustment { get; set; }
public bool FirstAdjustmentIsEstimate { get; set; }
public System.DateTime InitialAnalysisEstimateDate { get; set; }
public string EstimatePerformed { get; set; }
public int BalloonTerm { get; set; }
public string PledgeTypeDescription { get; set; }
public string SystemApproved { get; set; }
public string[] VINList { get; set; }
public long? MortgageLoanOriginator { get; set; }
public decimal? LastPaymentPrincipal { get; set; }
public decimal? LastPaymentInterest { get; set; }
public decimal? LastPaymentFees { get; set; }
public decimal? LastPaymentLateCharges { get; set; }
public decimal? LastPaymentEscrowImpound { get; set; }
public decimal? LastPaymentCurtailment { get; set; }
public decimal? LastPaymentTotal { get; set; }
public short TransferDay { get; set; }
public long SourceMember { get; set; }
public bool AdjustPurchaseAccrual { get; set; }
public bool AnnualFee { get; set; }
public System.DateTime AnnualFeeDate { get; set; }
public decimal BalaceLimit { get; set; }
public bool CloseOnZero { get; set; }
public System.DateTime DrawDate { get; set; }
public string Form1098Option { get; set; }
public bool MethodADelinquency { get; set; }
public short? NumberofSkips { get; set; }
public decimal OverlimitAmount { get; set; }
public System.DateTime OverlimitDate { get; set; }
public decimal PurchaseAdvBalance { get; set; }
public System.DateTime SkipDate { get; set; }
public bool ToBeDelinquent { get; set; }
public bool WaiveDelinquencyNotice { get; set; }
public bool WaiveBillingNotice { get; set; }
public bool WaiveInterest { get; set; }
public decimal LastStatementMinimumPayment { get; set; }
public decimal LastStatementCycleRequiredPayment { get; set; }
public bool ExemptNonResident { get; set; }
public string YTDNonresidentWithholding { get; set; }
public string PYTDNonresidentWithholding { get; set; }
public string InCollection { get; set; }
public string UniversalLoanId { get; set; }
public System.DateTime RateLockDate { get; set; }
public string ActiveStopPays { get; set; }
public string[] ErrorMessage { get; set; }
}
}
@@ -0,0 +1,18 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class LoanOwner
{
public int IndividualId { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public string Address { get; set; }
public string TaxId { get; set; }
public string Association { get; set; }
public System.DateTime LastAssociationCodeChangedDate { get; set; }
public string Metro2ConsumerInformationIndicator { get; set; }
public bool CoborrowerIsSpouse { get; set; }
public decimal OwnershipPercentage { get; set; }
public string PercentageDescription { get; set; }
}
}
@@ -0,0 +1,55 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class MemberDetail
{
public long MemberId { get; set; }
public string MemberName { get; set; }
public int PrimaryIndividualId { get; set; }
public string MemberType { get; set; }
public string Affiliation { get; set; }
public System.DateTime MemberSince { get; set; }
public string Miscellaneous1 { get; set; }
public string Miscellaneous2 { get; set; }
public string OriginalOpenBranch { get; set; }
public string WithholdingCode { get; set; }
public decimal ExpeditedFunds { get; set; }
public System.DateTime ExpeditedFundsDate { get; set; }
public int AccessLevel { get; set; }
public int StandardStatementCycle { get; set; }
public string StandardStatementCode { get; set; }
public string StandardStatementMethod { get; set; }
public int CATFeeCounter { get; set; }
public System.DateTime CATFeeDate { get; set; }
public int CreditCardStatementCycle { get; set; }
public string CreditCardStatementCode { get; set; }
public string CreditCardStatementMethod { get; set; }
public int AccountCount { get; set; }
public decimal AccountBalance { get; set; }
public int LoanCount { get; set; }
public decimal LoanBalance { get; set; }
public int LoansDelinquentCount { get; set; }
public decimal LoansDelinquent { get; set; }
public int LoansWrittenOffCount { get; set; }
public decimal LoansWrittenOff { get; set; }
public int LoansInCollectionCount { get; set; }
public decimal LoansInCollection { get; set; }
// public AccountSummary[] Account { get; set; }
// public LoanSummary[] Loan { get; set; }
// public CrossMemberDetails[] CrossMember { get; set; }
public string Password { get; set; }
public string PinLock { get; set; }
public int BranchId { get; set; }
public int RelationshipPricingLevel { get; set; }
public string RelationshipPricingLevelPermanent { get; set; }
public string RelationshipPricingDescription { get; set; }
public int PreviousRelationshipPricingLevel { get; set; }
public string LastRelationshipPricingLevelAnalysisDate { get; set; }
public string LastRelationshipPricingLevelChangeDate { get; set; }
public string InhibitActivity { get; set; }
public string WrittenOffLoan { get; set; }
public string LoanInCollection { get; set; }
public string PurgeMembership { get; set; }
public AddressDetail Address { get; set; }
}
}
@@ -0,0 +1,10 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class OtherCollateral
{
public string MiscellaneousInformation { get; set; }
public AppraisalDetail Appraisal { get; set; }
public string OtherCollateralType { get; set; }
}
}
@@ -0,0 +1,11 @@
using LCU.API.Internal.RepoApi.Repos.Models.Producer;
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class QueueResult
{
public ulong DeliveryTag { get; set; }
public ProcessingReceipt Receipt { get; set; }
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using LCU.API.Internal.RepoApi.Repos.Models.Producer;
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class RepoRunInfo
{
public RepoRunInfo()
{
StartDateTime = DateTime.Now;
Receipts = new List<ProcessingReceipt>();
}
public DateTime StartDateTime { get; private set; }
public DateTime? CompleteDateTime { get; set; }
public List<ProcessingReceipt> Receipts { get; private set; }
}
}
@@ -0,0 +1,20 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Consumer
{
public class Vehicle
{
public string VIN { get; set; }
public int Year { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public string LicensePlate { get; set; }
public string LicenseState { get; set; }
public string CountryLicensed { get; set; }
public int Mileage { get; set; }
public string BodyStyle { get; set; }
public string Color { get; set; }
public string KeyCode { get; set; }
public string SellerName { get; set; }
public decimal LowBookValue { get; set; }
public decimal HighBookValue { get; set; }
}
}
@@ -0,0 +1,33 @@
using System;
using System.Reflection;
using Microsoft.AspNetCore.Hosting;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class EnvironmentView : IEnvironmentView
{
public string Application => _env.ApplicationName;
public DateTime CurrentDate => DateTime.Now;
public string BuildVersion => Assembly.GetExecutingAssembly().GetName().Version.ToString();
public DateTime BuildDate => AssemblyBuildDate();
public string Environment => _env.EnvironmentName;
private readonly IHostingEnvironment _env;
public EnvironmentView(IHostingEnvironment env)
{
_env = env;
}
public static DateTime AssemblyBuildDate()
{
//https://stackoverflow.com/a/804310/266594
//TODO #246: Look up this value at start up to avoid hitting the filesystem repeatedly
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.FileInfo fileInfo = new System.IO.FileInfo(assembly.Location);
DateTime lastModified = fileInfo.LastWriteTime;
return lastModified;
}
}
}
@@ -0,0 +1,26 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class EventAlert
{
public int Id { get; set; }
public int? RepoId { get; set; }
[Required]
public string AccountNo { get; set; }
[Required]
public DateTime DateAdded { get; set; }
public DateTime? DateMarkedRead { get; set; }
[Required]
[MaxLength(25)]
public string CreatedBy { get; set; }
public string MarkedReadBy { get; set; }
[Required]
public string Message { get; set; }
public int? DayCount { get; set; }
public string SubMessage { get; set; }
public string EmailRecipient { get; set; }
public string EmailBody { get; set; }
}
}
@@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class ExternalUser
{
[Required]
public int Id { get; set; }
[Required]
public int ReferenceId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Code { get; set; }
}
}
@@ -0,0 +1,13 @@
using System.Collections.Generic;
using LCU.API.Internal.RepoApi.Repos.WebServices.NADA;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class FloorPriceCalculationParams
{
public ImsAutoFileData ImsAutoFileData { get; set; }
public CollateralValuation CollateralValuation { get; set; }
public IEnumerable<VehicleFloorPricingParameters> VehicleFloorPricingParameters { get; set; }
}
}
@@ -0,0 +1,13 @@
using System;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class FloorPriceCalculationResult
{
public string StrategyName { get; set; }
public bool Success { get; set; }
public decimal FloorPrice { get; set; }
public int ResultWeight { get; set; }
public string FailureReason { get; set; }
}
}
@@ -0,0 +1,11 @@
using System.Collections.Generic;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class FloorPriceCalculationResultSet
{
public FloorPriceCalculationResult PrimaryResult { get; set; }
public IEnumerable<FloorPriceCalculationResult> AllResults { get; set; }
public FloorPriceValuesUsed FloorPriceValuesUsed { get; set; }
}
}
@@ -0,0 +1,37 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using LCU.API.Internal.RepoApi.Repos.WebServices.NADA;
using Newtonsoft.Json;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class FloorPriceValuesUsed
{
[Required]
public int AuctionAssignmentId { get; set; }
[Required]
public int RepoId { get; set; }
[Required]
public int CollateralValuationId { get; set; }
public decimal? Condition { get; set; }
public decimal LowParam { get; set; }
public decimal HighParam { get; set; }
public decimal PercentageOf { get; set; }
public decimal? AuctionGuideBookPrice { get; set; }
public bool WasAuctionGuideBookPriceUsed { get; set; }
public decimal? MMRNationalAdjustedPrice { get; set; }
public decimal? MMRRegionalAdjustedPrice { get; set; }
public bool WasMMRNationalAdjustedPriceUsed { get; set; }
public bool WasMMRRegionalAdjustedPriceUsed { get; set; }
public int NADALowAdjustedAuctionValue { get; set; }
public int NADAAverageAdjustedAuctionValue { get; set; }
public int NADAHighAdjustedAuctionValue { get; set; }
public bool WasNADALowAdjustedAuctionValueUsed { get; set; }
public bool WasNADAAverageAdjustedAuctionValueUsed { get; set; }
public bool WasNADAHighAdjustedAuctionValueUsed { get; set; }
public decimal? NADAMMRFloorPrice { get; set; }
public CollateralValuation CollateralValuation { get; set; }
}
}
@@ -0,0 +1,13 @@
using System;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public interface IEnvironmentView
{
string Application { get; }
DateTime CurrentDate { get; }
string BuildVersion { get; }
DateTime BuildDate { get; }
string Environment { get; }
}
}
@@ -0,0 +1,77 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class ImsAutoFileData
{
[Required]
public int RepoId { get; set; }
[Required]
public string VIN { get; set; }
[Required]
public int AuctionAssignmentId { get; set; }
[Required]
public string AuctionCustomerNo { get; set; }
public DateTime? AssignmentAccepted { get; set; }
public DateTime? DateReceivedFromAutoIMS { get; set; }
public DateTime? ScheduledSaleDate { get; set; }
public DateTime? SoldDate { get; set; }
public string AnnouncedConditions { get; set; }
public string ArbitrationReason { get; set; }
public bool? AsIs100KMiles { get; set; }
public int? AuctionAge { get; set; }
public decimal? AuctionGuideBookPrice { get; set; }
public string BuyerId { get; set; }
public string BuyerName { get; set; }
public decimal? ChargeAmount { get; set; }
public decimal? CheckAmount { get; set; }
public int? ClientAge { get; set; }
public DateTime? ClientCancelled { get; set; }
public string CollisionDamage { get; set; }
public DateTime? InspectedDate { get; set; }
public DateTime? DateofLoss { get; set; }
public DateTime? DatePickedUp { get; set; }
public DateTime? DateEnteredAutoIMS { get; set; }
public int? DaysRun { get; set; }
public string DaysRunHighestBidRecordedbyAuction { get; set; }
public int? DaystoDelivery { get; set; }
public string Description { get; set; }
public bool? IsDrivable { get; set; }
public decimal? FloorPriceAccepted { get; set; }
public DateTime? FundsSent { get; set; }
public decimal? GrossPercentFloor { get; set; }
public decimal? HighestBid { get; set; }
public int? StatedMileage { get; set; }
public decimal? NetPercentFloor { get; set; }
public decimal? OtherAdvanceFees { get; set; }
public string OTHERTotal { get; set; }
public string OTHERAdvancedOther { get; set; }
public string OTHERAdvancedStorage { get; set; }
public string OTHERAdvancedTow { get; set; }
public string OTHERMiscellaneous { get; set; }
public decimal? SalePrice { get; set; }
public string TitleNumber { get; set; }
public DateTime? TitleReceived { get; set; }
public DateTime? TitleReturned { get; set; }
public string TitleState { get; set; }
public string TitleStatus { get; set; }
public string TitleStatusfromAuction { get; set; }
public decimal? TotalCharges { get; set; }
public decimal? ApprovedVehicleGrade { get; set; }
public bool? IsOperable { get; set; }
public DateTime? ShipmentDate { get; set; }
public string Status { get; set; }
public decimal? StorageCost { get; set; }
public decimal? StorageRatePerDay { get; set; }
public decimal? TowCost { get; set; }
public decimal? VehicleDecimalGradeCode { get; set; }
public decimal? VehicleGrade { get; set; }
public decimal? MMRNationalAdjustedPrice { get; set; }
public decimal? MMRRegionalAdjustedPrice { get; set; }
public string MMR { get; set; }
public string ConditionReportLink { get; set; }
public string CollateralImagePath { get; set; }
}
}
@@ -0,0 +1,20 @@
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class Letter
{
public string ActionCode { get; set; }
// This is the eventual "This works and the code was written well" solution.
// Once letter codes are in place and agreed upon the alerts can be switched from ActionCode to LetterCode
public string? LetterCode { get; set; }
public string Description { get; set; }
public int? DaysToWait { get; set; }
public string WhenLetterIsSent { get; set; }
// This is currently used to match up descriptions from Temenos history/comments. Used to find if a specific
// ActionCode/LetterCode was sent.
public string LetterDescription { get; set; }
}
}
@@ -0,0 +1,9 @@
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public enum OwnershipType
{
Other = 1,
Coborrower = 3,
Borrower = 6
}
}
@@ -0,0 +1,37 @@
using System;
using System.ComponentModel.DataAnnotations;
using LCU.API.Internal.RepoApi.Repos.Models.Producer;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class ProcessingReceipt
{
public ProcessingReceipt(string accountNo)
{
AccountNo = accountNo;
AccountId = "";
QueuedBy = "Unknown";
Message = "";
Outcome = RepoProcessingResult.Error;
Processed = DateTime.Now;
}
public string AccountNo { get; protected set; }
[Required]
public string AccountId { get; set; }
[Required]
public string CaseId { get; set; }
[Required]
[MaxLength(40)]
public string QueuedBy { get; set; }
public RepoProcessingResult Outcome { get; set; }
public string Message { get; set; }
public DateTime Processed { get; set; }
public string Pretty()
{
return $"Key: {AccountNo}|{AccountId}|{CaseId}|{QueuedBy} -> {Outcome} : {Message}";
}
}
}
@@ -0,0 +1,18 @@
using System;
namespace LCU.API.Internal.RepoApi.Repos.Models.Producer
{
public class ProcessingItem
{
public string AccountNo { get; set; }
public string AccountId { get; set; }
public string CaseId { get; set; }
public string QueuedBy { get; set; }
public string DetermineAuditItemKey()
{
return AccountNo + ":" + CaseId;
}
}
}
@@ -0,0 +1,13 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Producer
{
public enum RepoProcessingResult
{
Autoclosed,
Unconverted,
Created,
Updated,
Ineligible,
MissingRequirement,
Error
}
}
@@ -0,0 +1,16 @@
using System;
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class RefundStatus
{
[Required]
public int? RepoId { get; set; }
public string? WarrantyRefundStatus { get; set; }
public string? InsuranceRefundStatus { get; set; }
public string? PremiumDefiRefundStatus { get; set; }
public string? CPIRefundStatus { get; set; }
public DateTime? RefundsReceivedDate { get; set; }
}
}
@@ -0,0 +1,58 @@
using LCU.API.Internal.RepoApi.Repos.Models.Consumer;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class RepoAccount
{
public int RepoId { get; set; }
[Required]
public string AccountNo { get; set; }
[Required]
public string Status { get; set; }
public long MemberNo { get; set; }
public long LoanNo { get; set; }
public string AccountTypeCode { get; set; }
public string OrigAccountTypeCode { get; set; }
public int? Branch { get; set; }
public string Collector { get; set; }
public decimal? Balance { get; set; }
public DateTime? DueToPayDate { get; set; }
public DateTime? O4RDate { get; set; }
public DateTime? DateFirstDelinquent { get; set; }
public decimal? DelinquentAmount { get; set; }
public int? DaysDelinquent { get; set; }
public decimal? PaidSkipAmount { get; set; }
public string SubStatus { get; set; }
public decimal? RequiredPaymentAmount { get; set; }
public decimal? CurrentDelinquentAmount { get; set; }
public decimal? LstPmtAmt { get; set; }
public decimal? OrigAmount { get; set; }
public DateTime? LastPaymentDate { get; set; }
public DateTime? DateFirstIntellect { get; set; }
public string PrimaryIndividualId { get; set; }
public string Bankruptcy { get; set; }
public DateTime? ManualRedemptionDate { get; set; }
public DateTime? RedemptionExpiredDate { get; set; }
public ICollection<Borrower> Borrowers { get; set; }
public ICollection<Collateral> Collaterals { get; set; }
public ICollection<RepoStatusChange> RepoStatusChanges { get; set; }
[ForeignKey("RepoId")]
public RefundStatus RefundStatus { get; set; }
public DateTime? DateClosed { get; set; }
// This should reference
// a CaseId for Temenos.
public int? ReferenceId { get; set; }
public int? ReferenceCaseId { get; set; }
// This is the "Account Status" from Temenos so we can "Watch" it.
public string ReferenceStatus { get; set; }
public DateTime? AccountLastProcessed { get; set; }
public DateTime? WrittenOffDate { get; set; }
public int? SixtyPlusCollectorId { get; set; }
[ForeignKey("SixtyPlusCollectorId")]
public SixtyPlusCollector SixtyPlusCollector { get; set; }
}
}
@@ -0,0 +1,22 @@
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class RepoCompany
{
public int ID { get; set; }
public int? ReferenceId { get; set; }
public string Name { get; set; }
public string? Email { get; set; }
public string? Address_Line_1 { get; set; }
public string? Address_Line_2 { get; set; }
public string? City { get; set; }
public string? State { get; set; }
public string? ZIP { get; set; }
public string? Country { get; set; }
public string? Phone { get; set; }
public string? Fax { get; set; }
public string? DisabledBy { get; set; }
public DateTime? DisabledDate { get; set; }
}
}
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using LCU.API.Collections.CollectionsApiLib.Models;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class RepoCompanySelection : IValidatableObject
{
public int? Id { get; set; }
[Required]
public int? CollateralId { get; set; }
public RepoType RepoType { get; set; }
public int? RepoCompanyId { get; set; }
public DateTime? RepoCompanyAssignmentDate { get; set; }
public DateTime? DateRepoed { get; set; }
public DateTime? DateTimeCreated { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var failedValidations = new List<ValidationResult>();
// This cannot be a required field on account of it resulting in a SQL error
if (RepoType == null)
{
failedValidations.Add(new ValidationResult("Repo Company Selection: The RepoType cannot be blank"));
}
if (RepoCompanyAssignmentDate > DateRepoed)
{
failedValidations.Add(new ValidationResult("Repo Company Selection: The date repoed cannot come before the date assigned."));
}
if (RepoCompanyId != null && RepoCompanyAssignmentDate == null)
{
failedValidations.Add(new ValidationResult("Repo Company Selection: The Repo Company Assignment date cannot be null when a Repo Company is set."));
}
return failedValidations;
}
}
}
@@ -0,0 +1,14 @@
using System;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class RepoLetter
{
public string NoticeType { get; set; }
public DateTime DateSent { get; set; }
public DateTime DateExpired { get; set; }
public int DaysToRedeem { get; set; }
public string ActionCode { get; set; }
}
}
@@ -0,0 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class RepoManualStatus
{
[Required]
public int ID { get; set; }
[Required]
public string Description { get; set; }
[Required]
public bool IsActiveStatus { get; set; }
[Required]
public bool WatchForStatusChanges { get; set; }
}
}
@@ -0,0 +1,28 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Newtonsoft.Json;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class RepoStatusChange
{
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public int RepoId { get; set; }
[Required]
public string StatusFrom { get; set; }
[Required]
public string StatusTo { get; set; }
[Required]
public string ChangedBy { get; set; }
[Required]
public DateTime ChangedDate { get; set; }
[ForeignKey("RepoId")]
[JsonIgnore]
public RepoAccount RepoAccount { get; set; }
}
}
@@ -0,0 +1,47 @@
using System;
namespace LCU.API.Internal.RepoApi.Repos.Models.Reporting
{
public class LandmarkReportAccountEntry
{
// Repo
public int RepoId { get; set; }
public string AccountNo { get; set; }
public decimal? Balance { get; set; }
public int? DaysDelinquent { get; set; }
public DateTime? LastPaymentDate { get; set; }
public decimal? LastPaymentAmount { get; set; }
public string AccountTypeCode { get; set; }
public string Bankruptcy { get; set; }
public decimal? DelinquentAmount { get; set; }
public string Collector { get; set; }
public DateTime? DateClosed { get; set; }
// Borrower
public string IndividualName { get; set; }
// Collateral
public string Make { get; set; }
public string Model { get; set; }
public int? Year { get; set; }
// RepoCompanySelection
public string RepoCompany { get; set; }
public DateTime? DateRepoed { get; set; }
public string RepoType { get; set; }
public DateTime? DateAssigned { get; set; }
// RepoStatusChange
public string Status { get; set; }
public int? DaysInStatus { get; set; }
// IMSAutoFile Data
public DateTime? SoldDate { get; set; }
public DateTime? DateEnteredAutoIMS { get; set; }
public DateTime? ScheduledSaleDate { get; set; }
public decimal? FloorPrice { get; set; }
public decimal? Grade { get; set; }
// Auction and AuctionAssignments
public string AuctionHouse { get; set; }
public DateTime? AuctionDate { get; set; }
public decimal? TotalCharges { get; set; }
public decimal? GrossPercentFloor { get; set; }
public decimal? NetPercentFloor { get; set; }
public decimal? GrossSalePrice { get; set; }
}
}
@@ -0,0 +1,10 @@
using System.Collections.Generic;
namespace LCU.API.Internal.RepoApi.Repos.Models.Reporting.Responses
{
public class DataTable
{
public string[] Headers { get; set; }
public IEnumerable<RepoAccountReferenceRow> Rows { get; set; }
}
}
@@ -0,0 +1,8 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Reporting.Responses
{
public class RepoAccountReferenceRow
{
public int RepoId { get; set; }
public ReportCell[] Cells { get; set; }
}
}
@@ -0,0 +1,8 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Reporting.Responses
{
public class ReportCell
{
public string Display { get; set; }
public object Value { get; set; }
}
}
@@ -0,0 +1,8 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Reporting.Responses
{
public class ReportTable
{
public string[] Headers { get; set; }
public ReportCell[,] Cells { get; set; }
}
}
@@ -0,0 +1,8 @@
namespace LCU.API.Internal.RepoApi.Repos.Models.Reporting.Responses
{
public class ReportTableResponse
{
public ReportTable ReportTable { get; set; }
public DataTable DataTable { get; set; }
}
}
@@ -0,0 +1,53 @@
using System;
namespace LCU.API.Internal.RepoApi.Repos.Models.Reporting
{
public class StdReportEntry
{
// Repo
public int RepoId { get; set; }
public string AccountNo { get; set; }
public string AccountTypeCode { get; set; }
public decimal Balance { get; set; }
public string Status { get; set; }
public int DaysInStatus { get; set; }
public string Bankruptcy { get; set; }
public string Collector { get; set; }
public int? DaysCurrentDelq { get; set; }
public int? DaysDelqWhenAdded { get; set; }
public decimal? DelinquentAmount { get; set; }
public decimal? LastPaymentAmount { get; set; }
public DateTime? LastPaymentDate { get; set; }
public string FilteredStatus { get; set; }
public DateTime? FilteredStatusChangeDate { get; set; }
public DateTime? O4RDate { get; set; }
// Auction Assignment
public string AuctionId { get; set; }
public string AuctionName { get; set; }
// Collateral
public int CollateralId { get; set; }
public int? RepoCompanyId { get; set; }
public string RepoCompany { get; set; }
public string RepoType { get; set; }
public DateTime? RepoCompanyAssignmentDate { get; set; }
public DateTime? DateRepoed { get; set; }
public int? RepoDuration { get; set; }
public int? Year { get; set; }
public string Make { get; set; }
public string Model { get; set; }
// IMSAutoFile Data
public string AutoImsStatus { get; set; }
public DateTime? SoldDate { get; set; }
public DateTime? DateEnteredAutoIMS { get; set; }
public DateTime? ScheduledSaleDate { get; set; }
public decimal? GrossPercentFloor { get; set; }
public decimal? NetPercentFloor { get; set; }
public decimal? TotalCharges { get; set; }
public decimal? Grade { get; set; }
public decimal? FloorPrice { get; set; }
public decimal? GrossSalePrice { get; set; }
// Borrower
public string IndividualName { get; set; }
}
}
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace LCU.API.Internal.RepoApi.Repos.Models.Results
{
public class AuctionData
{
public int LowAuction { get; set; }
public int AvgAuction { get; set; }
public int HighAuction { get; set; }
public string DateRange { get; set; }
public object AuctionAccessories { get; set; }
public string AcceptableMileage { get; set; }
public string RatePerMile { get; set; }
public string MileageAdjust { get; set; }
public string MinAuctionValue { get; set; }
}
}
@@ -0,0 +1,13 @@
using System.Collections.Generic;
namespace LCU.API.Internal.RepoApi.Repos.Models.Results
{
public class AuctionInformation
{
public string RequestId { get; set; }
public List<AuctionData> Result { get; set; }
public string Userinfo { get; set; }
public string Error { get; set; }
public string AuthId { get; set; }
}
}
@@ -0,0 +1,10 @@
using System.Collections.Generic;
namespace LCU.API.Internal.RepoApi.Repos.Models.Results
{
public class PagedResult<T> where T : class
{
public IEnumerable<T> Items { get; set; }
public int Total { get; set; }
}
}
@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace LCU.API.Internal.RepoApi.Repos.Models.Results
{
public class VehicleData
{
public int Modelyear { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public string Body { get; set; }
public int Ucgvehicleid { get; set; }
public string Vehicletype { get; set; }
public string Mileageclass { get; set; }
public string Basemsrp { get; set; }
public string Bodytype { get; set; }
public string Doors { get; set; }
public string Trim { get; set; }
public string Trim2 { get; set; }
public string Drivetype { get; set; }
public string Liters { get; set; }
public string Engineconfiguration { get; set; }
public string Cylinders { get; set; }
public string Inductiontype { get; set; }
public string Transmission { get; set; }
public string Fueltype { get; set; }
public string Wheels { get; set; }
public string Curbweight { get; set; }
public string Gvw { get; set; }
public string Gcw { get; set; }
public string Ucgsubsegment { get; set; }
public string Modelnumber { get; set; }
public int Rollupvehicleid { get; set; }
public int Basecleantrade { get; set; }
public int Baseaveragetrade { get; set; }
public int Baseroughtrade { get; set; }
public int Basecleanretail { get; set; }
public int Baseloan { get; set; }
public int Averagemileage { get; set; }
public int Mileageadjustment { get; set; }
public int Vinoptionstrade { get; set; }
public int Vinoptionsretail { get; set; }
public int Vinoptionsloan { get; set; }
public int Adjustedcleantrade { get; set; }
public int Adjustedaveragetrade { get; set; }
public int Adjustedroughtrade { get; set; }
public int Adjustedcleanretail { get; set; }
public int Adjustedloan { get; set; }
public int Maxmileageadj { get; set; }
public int Minmileageadj { get; set; }
public int Minadjretail { get; set; }
public int Minadjcleantrade { get; set; }
public int Minadjaveragetrade { get; set; }
public int Minadjroughtrade { get; set; }
public int Minadjloan { get; set; }
public int Minadjretailforloan { get; set; }
public int Vid { get; set; }
}
}
@@ -0,0 +1,13 @@
using System.Collections.Generic;
namespace LCU.API.Internal.RepoApi.Repos.Models.Results
{
public class VehicleInformation
{
public string RequestId { get; set; }
public List<VehicleData> Result { get; set; }
public string Userinfo { get; set; }
private string AdjustedMileage { get; set; }
private string AuthId { get; set; }
}
}
@@ -0,0 +1,35 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class SavedLocation
{
public int ID { get; set; }
[Required]
public string Name { get; set; }
[Required]
public int? LocationType { get; set; }
[Required]
public string Address_Line_1 { get; set; }
public string Address_Line_2 { get; set; }
[Required]
public string City { get; set; }
[Required]
public string State { get; set; }
[Required]
public string ZIP { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
}
}
@@ -0,0 +1,23 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class AccountType
{
[Required]
public int ID { get; set; }
[Required]
public string AccountTypeCode { get; set; }
[Required]
public string Description { get; set; }
[Required]
public bool IsVisible { get; set; }
public int? CategoryId { get; set; }
[ForeignKey("ID")]
[JsonIgnore]
public LoanCategory LoanCategories { get; set; }
}
}
@@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class AllowedStatusChange
{
[Required]
public int ID { get; set; }
[Required]
public string CurrentStatus { get; set; }
[Required]
public string AllowedChangeStatus { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class BodyStyle
{
[Required]
public string Code { get; set; }
[Required]
public string Description { get; set; }
}
}
@@ -0,0 +1,9 @@

namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class BranchEntry
{
public string BranchId { get; set; }
public string BranchName { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class CleaningLevel
{
[Required]
public int Code { get; set; }
[Required]
public string Description { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class CleaningLevelCodes_NN
{
[Required]
public int Code { get; set; }
[Required]
public string Description { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class CodeDescriptionPairs
{
[Required]
public int Code { get; set; }
[Required]
public string Description { get; set; }
}
}
@@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class CollateralType
{
[Required]
public int ID { get; set; }
[Required]
public string Description { get; set; }
[Required]
public string LookupHandler { get; set; }
}
}
@@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class CollateralTypeToVehicleType
{
[Required]
public int ID { get; set; }
[Required]
public int CollateralTypeId { get; set; }
[Required]
public int VehicleTypeId { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class HoldStatus
{
[Required]
public int Code { get; set; }
[Required]
public string Description { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class LoanCategory
{
[Required]
public int ID { get; set; }
[Required]
public string CategoryName { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class LocationType
{
[Required]
public int Code { get; set; }
[Required]
public string Description { get; set; }
}
}
@@ -0,0 +1,26 @@
using System.Collections.Generic;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class Settings
{
public IEnumerable<AccountType> AccountTypes { get; set; }
public IEnumerable<AllowedStatusChange> AllowedStatusChanges { get; set; }
public IEnumerable<BodyStyle> BodyStyles { get; set; }
public IEnumerable<CleaningLevel> CleaningLevels { get; set; }
public IEnumerable<CollateralType> CollateralTypes { get; set; }
public IEnumerable<CollateralTypeToVehicleType> CollateralTypesToVehicleTypes { get; set; }
public IEnumerable<HoldStatus> HoldStatuses { get; set; }
public IEnumerable<LoanCategory> LoanCategories { get; set; }
public IEnumerable<LocationType> LocationTypes { get; set; }
public IEnumerable<VehicleType> VehicleTypes { get; set; }
public IEnumerable<BranchEntry> BranchSet { get; set; }
public IReadOnlyCollection<ExternalUser> ExternalUsers { get; set; }
public IReadOnlyCollection<RepoCompany> RepoCompanies { get; set; }
public IReadOnlyCollection<string> TransactionTypeCodes { get; set; }
public string TransactionTypeCodeQueryPrefix { get; set; }
public string TransactionHistoryParameterDateFormat { get; set; }
public int TransactionHistoryStartDateOffset { get; set; }
public IReadOnlyDictionary<int, string> RepoTypeMap { get; set; }
}
}
@@ -0,0 +1,12 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models.Settings
{
public class VehicleType
{
[Required]
public string Code { get; set; }
[Required]
public string Description { get; set; }
}
}
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class SixtyPlusCollector
{
[Required]
public int SixtyPlusCollectorId { get; set; }
[Required]
public string SixtyPlusCollectorName { get; set; }
}
}
@@ -0,0 +1,17 @@
using System.ComponentModel.DataAnnotations;
namespace LCU.API.Internal.RepoApi.Repos.Models
{
public class VehicleFloorPricingParameters
{
[Required]
public int Id { get; set; }
public decimal LowCondition { get; set; }
public decimal HighCondition { get; set; }
public string NADAFirstValue { get; set; }
public string NADASecondValue { get; set; }
public string MMRAdjustedValue { get; set; }
public decimal PercentageOf { get; set; }
public int ValuationServiceType { get; set; }
}
}