using BuddyFinance.Integration.Models.Enums; using BuddyFinance.Integration.Models.Lookups; using BuddyFinance.Model; using System; using System.Collections.Generic; using System.Linq; namespace BuddyFinance.Integration { public class LookupsIntegrator { public GetProfileTypesResult GetProfileTypes() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetProfileTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.ProfileTypes.Select(m => new Lookup { Code = m.Id.ToString(), Description = m.Description, Id = m.Id }).ToList() }; } } catch (Exception ex) { return new GetProfileTypesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetDocumentTypesResult GetDocumentTypes() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetDocumentTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.DocumentTypes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetDocumentTypesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetAddressTypesResult GetAddressTypes() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetAddressTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.AddressTypes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetAddressTypesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetCountriesResult GetCountries() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetCountriesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.Countries.Select(i => new Lookup { Code = i.CountryCode, Description = i.CountryName, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetCountriesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public RegisterListsResult RegistrationLists() { var returnResult = new RegisterListsResult(); try { using (var db = new BuddyFinanceDBEntities()) { var lists = new RegisterLists { ProfileTypeList = !db.ProfileTypes.Any() ? new List() : db.ProfileTypes.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), GenderList = !db.Genders.Any() ? new List() : db.Genders.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), CountryList = !db.Countries.Any() ? new List() : db.Countries.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.CountryName, Code = m.CountryCode }), EthnicityTypeList = !db.Ethnicities.Any() ? new List() : db.Ethnicities.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), AddressTypesList = !db.AddressTypes.Any() ? new List() : db.AddressTypes.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), ProvincesList = !db.Provinces.Any() ? new List() : db.Provinces.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), EmploymentStatusList = !db.EmploymentStatuses.Any() ? new List() : db.EmploymentStatuses.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), EmploymentTypeList = !db.EmploymentTypes.Any() ? new List() : db.EmploymentTypes.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), DocumentTypeList = !db.DocumentTypes.Any() ? new List() : db.DocumentTypes.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), IdentificationTypeList = !db.IdentificationTypes.Any() ? new List() : db.IdentificationTypes.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), TaxIdentificationList = !db.TaxIdentificationTypes.Any() ? new List() : db.TaxIdentificationTypes.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }), SourceOfIncomeList = !db.SourceOfIncomes.Any() ? new List() : db.SourceOfIncomes.ToList().ConvertAll(m => new Lookup { Id = m.Id, Description = m.Description, Code = m.Id.ToString() }) }; returnResult.Result = lists; returnResult.ErrorCode = (int)ResponseCodes.Success; returnResult.ErrorMessage = "Successful"; } } catch (Exception ex) { returnResult.ErrorCode = (int)ResponseCodes.Exception; returnResult.ErrorMessage = ex.Message; } return returnResult; } public GetSourceOfFundsResult GetSourceOfFunds() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetSourceOfFundsResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.SourceOfFunds.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetSourceOfFundsResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetSourceOfIncomeResult GetSourceOfIncome() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetSourceOfIncomeResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.SourceOfIncomes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetSourceOfIncomeResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetFicaStatusTypesResult GetFeeTypes() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetFicaStatusTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.FeeTypes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetFicaStatusTypesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetFicaStatusTypesResult GetFicaStatusTypes() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetFicaStatusTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.FicaStatuses.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetFicaStatusTypesResult((int)ResponseCodes.Exception, "An error has occurred. Exception: " + ex.Message); } } public GetIdentificationTypesResult GetIdentificationTypes() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetIdentificationTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.IdentificationTypes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetIdentificationTypesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetTaxIdentificationTypesResult GetTaxIdentificationTypes() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetTaxIdentificationTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.TaxIdentificationTypes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetTaxIdentificationTypesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetProvincesResult GetProvinces() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetProvincesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.Provinces.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetProvincesResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public GetEthncityTypeResult GetEthncity() { try { using (var db = new BuddyFinanceDBEntities()) { return new GetEthncityTypeResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.Ethnicities.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new GetEthncityTypeResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } //this table does not exist anymore :Tumelo 06 February 2018 //public GetCreditScoreTypeResult GetCreditScore() //{ // try // { // using (var db = new BuddyFinanceDBEntities()) // { // return new GetCreditScoreTypeResult // { // ErrorCode = (int)ResponseCodes.Success, // ErrorMessage = "Successful", // Result = db.CreditRatingScores.Select(i => new Lookup // { // Code = i.Id.ToString(), // Description = i.Status, // Id = i.Id // }).ToList() // }; // } // } // catch (Exception ex) // { // return new GetCreditScoreTypeResult // { // ErrorCode = (int)ResponseCodes.Exception, // ErrorMessage = "An error has occurred. Exception: " + ex.Message // }; // } //} public GetEmploymentStatusesResult GetEmploymentStatuses() { using (var db = new BuddyFinanceDBEntities()) { return new GetEmploymentStatusesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.EmploymentStatuses.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } public GetEmploymentTypesResult GetGetEmploymentTypes() { using (var db = new BuddyFinanceDBEntities()) { return new GetEmploymentTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.EmploymentTypes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } public GetGendersResult GetGenders() { using (var db = new BuddyFinanceDBEntities()) { return new GetGendersResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.Genders.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } public GetTermTypesResult GetTermTypes() { using (var db = new BuddyFinanceDBEntities()) { return new GetTermTypesResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.TermTypes.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } public LookUpResult LoanRepaymentStatuses() { try { using (var db = new BuddyFinanceDBEntities()) { return new LookUpResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.LoanRepaymentStatuses.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new LookUpResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } public LookUpResult LoanStatuses() { try { using (var db = new BuddyFinanceDBEntities()) { return new LookUpResult { ErrorCode = (int)ResponseCodes.Success, ErrorMessage = "Successful", Result = db.LoanStatuses.Select(i => new Lookup { Code = i.Id.ToString(), Description = i.Description, Id = i.Id }).ToList() }; } } catch (Exception ex) { return new LookUpResult { ErrorCode = (int)ResponseCodes.Exception, ErrorMessage = "An error has occurred. Exception: " + ex.Message }; } } } }