Untitled
unknown
plain_text
10 months ago
5.2 kB
7
Indexable
IUserSessionLogOperations operationsObjUserLog = getContext().GetObject("UserSessionLogOperations") as IUserSessionLogOperations;
operationsObjUserLog.SaveUserSessionDetailLogforUser(HttpContext.Current.Session.SessionID, "Data is coming for SummaryCF/UW Financials/Cap Stack/DSCRHurdle/SalesCompsPropertyDetail/SourcesAndUsesDetail", "Loan dashboard", "");
IUnderwritingOperations operationsObj = getContext().GetObject("LoanUnderwritingOperations") as IUnderwritingOperations;
ICollection<Tuple<string, bool, string>> detailedUWScenarios = getDetailedUWScenarios(AssetName, dealName);
detailedUWScenarios = detailedUWScenarios
.OrderBy(t => t.Item3.Equals("USER",StringComparison.CurrentCultureIgnoreCase)) // Sort by user (the third item in the tuple)
.ThenBy(t => t.Item3.Equals("INTEX", StringComparison.CurrentCultureIgnoreCase)) // Then sort by Intex (the second item in the tuple)
.ThenBy(t => t.Item3.Equals("Calculated", StringComparison.CurrentCultureIgnoreCase)) // Finally, sort by calculated (the first item in the tuple)
.ToList();
LoanDetailedUWSummary lnDetailedUWSummary = operationsObj.GetCFSummaryScenario(AssetName, sessionId, userName, detailedUWScenarios.Select(t => t.Item1).ToList(), dealName, dataLevel: dataLevel, propertyName: propertyName);
//LoanDetailedUWSummary lnDetailedUWSummary = operationsObj.GetCFSummaryScenario(AssetName, sessionId, userName, detailedUWScenarios.Select(t => t.Item1).ToList(), dealName, dataLevel: dataLevel, propertyName: propertyName);
if (allScenarioNames != null && CMBSConfigurableParams.AverageScenarioCount > 0 && !(string.Equals(PROPERTYTYPE_SHORTNAMES.MULTIFAMILY, lnDetailedUWSummary.LoanDetailedUWData.PropertyType) || string.Equals(PROPERTYTYPE_SHORTNAMES.LODGING, lnDetailedUWSummary.LoanDetailedUWData.PropertyType)))
{
if (allScenarioNames.Count >= CMBSConfigurableParams.AverageScenarioCount)
allScenarioNames = allScenarioNames.Take(CMBSConfigurableParams.AverageScenarioCount).ToList<string>();
LoanDetailedUWSummary lnDetailedUWSummaryForAvg = operationsObj.GetCFSummaryScenario(AssetName, sessionId, userName, allScenarioNames, dealName, dataLevel: dataLevel, propertyName: propertyName);
DataTable dtFinancialForAvg = VABSDomainLayer.Utils.CMBS.LoanDashboardUtils.TransposeFinancialDatatoJSON(lnDetailedUWSummaryForAvg);
//CalculateAverageScenario( dtFinancialForAvg, dtFinancial, allScenarioNames);
SummaryCFScenario summaryCFScenario = operationsObj.GetCalculatedAverageScenario(lnDetailedUWSummary, allScenarioNames);
lnDetailedUWSummary.SummaryCFs["Average"] = summaryCFScenario;
}
DataTable dtFinancial = lnDetailedUWSummary != null? VABSDomainLayer.Utils.CMBS.LoanDashboardUtils.TransposeFinancialDatatoJSON(lnDetailedUWSummary) : new DataTable();
if (lnDetailedUWSummary.SummaryCFs.ContainsKey("Average"))
lnDetailedUWSummary.SummaryCFs.Remove("Average");
DataTable dtSummaryCashflows = lnDetailedUWSummary != null ? VABSDomainLayer.Utils.CMBS.LoanDashboardUtils.TransposeSummaryCashflowsDatatoJSON(lnDetailedUWSummary) : new DataTable();
DataTable dtCapitalStructure = VABSDomainLayer.Utils.CMBS.LoanDashboardUtils.TransposeCapitalStructureDatatoJSON(lnDetailedUWSummary);
DataTable dtDSCRHurdle = VABSDomainLayer.Utils.CMBS.LoanDashboardUtils.TransposeDSCRHurdletoJSON(lnDetailedUWSummary);
DataTable dtSalesCompsPropertyDetail = lnDetailedUWSummary != null ? ToDataTable(lnDetailedUWSummary.LoanDetailedUWData.LoanDetailedUWSalesAndMarketCompsDetailData.SalesCompsPropertyDetails) : new DataTable();
DataTable dtSourcesAndUsesDetail = lnDetailedUWSummary != null ? ToDataTable(lnDetailedUWSummary.LoanDetailedUWData.LoanDetailedUWSourcesAndUsesDetailData) : new DataTable();
Dictionary<string, JSONDataTable> returnData = new Dictionary<string, JSONDataTable>();
returnData.Add("Financials", JSONUtils.DataTableToJSON(dtFinancial));
returnData.Add("SummaryCashflows", JSONUtils.DataTableToJSON(dtSummaryCashflows));
returnData.Add("CapitalStructure", JSONUtils.DataTableToJSON(dtCapitalStructure));
returnData.Add("DSCRHurdle", JSONUtils.DataTableToJSON(dtDSCRHurdle));
returnData.Add("SalesCompsPropertyDetail", JSONUtils.DataTableToJSON(dtSalesCompsPropertyDetail));
returnData.Add("SourcesAndUsesDetail", JSONUtils.DataTableToJSON(dtSourcesAndUsesDetail));
//UserSessionInfo.UserInfo userInfoObj = (UserSessionInfo.UserInfo)UserSessionInfo._userInfoMap[HttpContext.Current.Session.SessionID];
//userInfoObj.UserNotes = lnDetailedUWSummary.LoanDetailedUWData.UserNotes;
return returnData;
}
catch (Exception ex)
{
logger.Error("Error in GetCFSummaryScenario", ex);
IUserSessionLogOperations operationsObjUserLog = getContext().GetObject("UserSessionLogOperations") as IUserSessionLogOperations;
operationsObjUserLog.SaveUserSessionDetailLogforUser(HttpContext.Current.Session.SessionID, "On GetCFSummaryScenario", "Loan Dashboard", "Error in GetCFSummaryScenario" + ex);
if (BUBBLE_EXCEPTIONS)
throw ex;
else
return null;
}Editor is loading...
Leave a Comment