/// <summary> /// The object factory for a particular data collection instance. /// </summary> public virtual void CreateObjectsFromData(Borrowers borrowers, System.Data.DataSet data) { // Do nothing if we have nothing if (data == null || data.Tables.Count == 0 || data.Tables[0].Rows.Count == 0) { return; } // Create a local variable for the new instance. Borrower newobj = null; // Create a local variable for the data row instance. System.Data.DataRow dr = null; // Iterate through the table rows for (int i = 0; i < data.Tables[0].Rows.Count; i++) { // Get a reference to the data row dr = data.Tables[0].Rows[i]; // Create a new object instance newobj = System.Activator.CreateInstance(borrowers.ContainsType[0]) as Borrower; // Let the instance set its own members newobj.SetMembers(ref dr); // Add the new object to the collection instance borrowers.Add(newobj); } }
/// <summary> /// Fills a single instance with data based on its primary key values. /// </summary> public virtual void Fill(Borrower borrower, System.Int64 id) { // create the connection to use SqlConnection cnn = new SqlConnection(Borrower.GetConnectionString()); try { // discover the sql parameters SqlParameterHash sqlparams = SqlHelperParameterCache.GetSpParameterSet(Borrower.GetConnectionString(), "gsp_SelectBorrower"); using (cnn) { // open the connection cnn.Open(); // set the parameters sqlparams["@id"].Value = id; // create an instance of the reader to fill. SqlDataReader datareader = SqlHelper.ExecuteReader(cnn, "gsp_SelectBorrower", sqlparams); if (datareader.Read()) { borrower.SetMembers(ref datareader); } cnn.Close(); // close the connection } // nullify the connection var cnn = null; } catch (SqlException sqlex) { throw sqlex; } }
/// <summary> /// The object factory for a particular data collection instance. /// </summary> public virtual void CreateObjectsFromData(Borrowers borrowers, System.Data.SqlClient.SqlDataReader data) { // Do nothing if we have nothing if (data == null) { return; } // Create a local variable for the new instance. Borrower newobj = null; // Iterate through the data reader while (data.Read()) { // Create a new object instance newobj = System.Activator.CreateInstance(borrowers.ContainsType[0]) as Borrower; // Let the instance set its own members newobj.SetMembers(ref data); // Add the new object to the collection instance borrowers.Add(newobj); } }
/// <summary> /// Creates a new instance of an existing (persisted) loan application. /// </summary> /// <param name="appId">The identity of the loan application.</param> public LoanApplication(long appId) : base(appId) { // TODO: add additional fill methods for the rest of the loan object // load up the data information MISMO.BusinessObjects.DataInformationCollection dats = this.GetDataInformationCollection(); if (dats != null && dats.Count > 0) { _datainformation = new DataInformation(); MISMO.Entities.DataInformationBase datbase = dats[0]; _datainformation.SetMembers(ref datbase); } // load up the additional case data. MISMO.BusinessObjects.AdditionalCaseDataCollection addcasecol = this.GetAdditionalCaseDataCollection(); if (addcasecol != null && addcasecol.Count > 0) { MISMO.Entities.AdditionalCaseDataBase addcasebase = addcasecol[0] as MISMO.Entities.AdditionalCaseDataBase; _additionalcasedata = new AdditionalCaseData(); _additionalcasedata.SetMembers(ref addcasebase); } // load up the down payment information _downpayments = this.GetDownPayments(); // load up the interviewer information MISMO.BusinessObjects.InterviewerInformationCollection intvcol = this.GetInterviewerInformationCollection(); if (intvcol != null && intvcol.Count > 0) _interviewer = intvcol[0]; // load up the loan product data MISMO.BusinessObjects.LoanProductDataCollection loanproducts = this.GetLoanProductDataCollection(); if (loanproducts != null && loanproducts.Count > 0) { MISMO.Entities.LoanProductDataBase lpbase = loanproducts[0]; _loanproductdata = new LoanProductData(); _loanproductdata.SetMembers(ref lpbase); } // load up the loan purpose MISMO.BusinessObjects.LoanPurposes purps = this.GetLoanPurposes(); if (purps != null && purps.Count > 0) { MISMO.Entities.LoanPurposeBase purpbase = purps[0]; _purpose = new LoanPurpose(); _purpose.SetMembers(ref purpbase); } // load up the loan qualification information MISMO.BusinessObjects.LoanQualifications lqcol = this.GetLoanQualifications(); if (lqcol != null && lqcol.Count > 0) { MISMO.Entities.LoanQualificationBase lqbase = lqcol[0] as MISMO.Entities.LoanQualificationBase; _loanqualification.SetMembers(ref lqbase); } // load up the mortgage terms. MISMO.BusinessObjects.MortgageTermsCollection mtgterms = this.GetMortgageTermsCollection(); if (mtgterms != null && mtgterms.Count > 0) _mortgageterms = mtgterms[0]; // loan up the property information MISMO.BusinessObjects.Properties props = this.GetProperties(); if (props != null && props.Count > 0) { _prop = new AUS.Property(); MISMO.Entities.PropertyBase propbase = props[0]; _prop.SetMembers(ref propbase); } // load up the proposed housing expenses _proposedHousingExpenses = this.GetProposedHousingExpenses(); // load up the REO properties _reoProperties = this.GetREOProperties(); // load up the title holder objects _titleholders = this.GetTitleHolders(); // load up the transaction details MISMO.BusinessObjects.TransactionDetails trandets = this.GetTransactionDetails(); if (trandets != null && trandets.Count > 0) { MISMO.Entities.TransactionDetailBase trandbase = trandets[0]; _transdetail = new AUS.TransactionDetail(); _transdetail.SetMembers(ref trandbase); } // load up the borrower information MISMO.BusinessObjects.Borrowers bws = this.GetBorrowers(); MISMO.Entities.BorrowerBase bwsbase = null; for(int i = 0, j = bws.Count; i<j; i++) { MISMO.BusinessObjects.AUS.Borrower ausbw = new Borrower(); bwsbase = bws[i] as MISMO.Entities.BorrowerBase; ausbw.SetMembers(ref bwsbase); _borrowers.Add(ausbw); } // finally update the checksum if this constructor wasn't called from a descendant. if (this.GetType() == typeof(MISMO.BusinessObjects.AUS.LoanApplication)) { RecalculateChecksum(); } }