public List <PERIOD_FINANCIALS> RetrieveFairValue(EntitySelectionData entitySelectionData) { try { List <PERIOD_FINANCIALS> result = new List <PERIOD_FINANCIALS>(); GreenField.DAL.GF_SECURITY_BASEVIEW data = DimensionEntity.GF_SECURITY_BASEVIEW.Where(a => a.ISSUE_NAME == entitySelectionData.LongName).FirstOrDefault(); if (data == null) { return(new List <PERIOD_FINANCIALS>()); } int?securityId = int.Parse(data.SECURITY_ID); if (securityId == null) { return(new List <PERIOD_FINANCIALS>()); } ExternalResearchEntities entity = new ExternalResearchEntities(); result = entity.GetDCFFairValue(Convert.ToString(securityId)).ToList(); if (result == null) { return(new List <PERIOD_FINANCIALS>()); } return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
private GreenField.DAL.GF_SECURITY_BASEVIEW GetSecurityDataForSelectedSecurity(EntitySelectionData entitySelectionData) { DimensionEntities entity = DimensionEntity; /*bool isServiceUp; * isServiceUp = CheckServiceAvailability.ServiceAvailability(); * * if (!isServiceUp) * throw new Exception("Services are not available");*/ //Retrieving data from security view GreenField.DAL.GF_SECURITY_BASEVIEW data = entity.GF_SECURITY_BASEVIEW .Where(record => record.TICKER == entitySelectionData.ShortName && record.ISSUE_NAME == entitySelectionData.LongName && record.ASEC_SEC_SHORT_NAME == entitySelectionData.InstrumentID && record.SECURITY_TYPE == entitySelectionData.SecurityType) .FirstOrDefault(); if (data == null) { return(null); } else { return(data); } }
public bool DeleteFairValues(EntitySelectionData entitySelectionData) { try { ExternalResearchEntities entity = new ExternalResearchEntities(); GreenField.DAL.GF_SECURITY_BASEVIEW data = DimensionEntity.GF_SECURITY_BASEVIEW.Where(a => a.ISSUE_NAME == entitySelectionData.LongName).FirstOrDefault(); if (data == null) { return(false); } int?securityId = int.Parse(data.SECURITY_ID); if (securityId == null) { return(false); } entity.DeleteDCFFairValueData(Convert.ToString(securityId)); return(true); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public bool InsertFairValues(EntitySelectionData entitySelectionData, string valueType, int?fvMeasure, decimal?fvbuy, decimal?fvSell, decimal?currentMeasureValue, decimal?upside, DateTime?updated) { try { ExternalResearchEntities entity = new ExternalResearchEntities(); GreenField.DAL.GF_SECURITY_BASEVIEW data = DimensionEntity.GF_SECURITY_BASEVIEW.Where(a => a.ISSUE_NAME == entitySelectionData.LongName).FirstOrDefault(); if (data == null) { return(false); } int?securityId = int.Parse(data.SECURITY_ID); if (securityId == null) { return(false); } if (valueType != null) { valueType = valueType.ToUpper(); } entity.InsertDCFFairValue(Convert.ToString(securityId), valueType, fvMeasure, fvbuy, fvSell, currentMeasureValue, upside, updated, "C", 0); return(true); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public List <DCFTerminalValueCalculationsData> RetrieveTerminalValueCalculationsData(EntitySelectionData entitySelectionData) { try { List <DCFTerminalValueCalculationsData> result = new List <DCFTerminalValueCalculationsData>(); Dictionary <string, decimal?> dataROIC_SDPR = new Dictionary <string, decimal?>(); List <DCFCashFlowData> cashFlowResult = new List <DCFCashFlowData>(); string issuerId; ExternalResearchEntities entity = new ExternalResearchEntities(); if (entitySelectionData == null) { return(new List <DCFTerminalValueCalculationsData>()); } /*#region ServiceAvailabilityChecker * * bool isServiceUp; * isServiceUp = CheckServiceAvailability.ServiceAvailability(); * if (!isServiceUp) * { * throw new Exception("Services are not available"); * } #endregion*/ GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails = DimensionEntity.GF_SECURITY_BASEVIEW .Where(record => record.ASEC_SEC_SHORT_NAME == entitySelectionData.InstrumentID && record.ISSUE_NAME == entitySelectionData.LongName && record.TICKER == entitySelectionData.ShortName).FirstOrDefault(); issuerId = securityDetails.ISSUER_ID; if (issuerId == null) { return(new List <DCFTerminalValueCalculationsData>()); } decimal longTermGDPGrowth = Convert.ToDecimal(entity.GetDCFGDP(Convert.ToString(securityDetails.ISO_COUNTRY_CODE)).FirstOrDefault()); DCFTerminalValueCalculationsData data = new DCFTerminalValueCalculationsData(); dataROIC_SDPR = GetROIC(issuerId); if (dataROIC_SDPR.ContainsKey("ROIC")) { data.SustainableROIC = dataROIC_SDPR.Where(a => a.Key == "ROIC").Select(a => a.Value).FirstOrDefault(); } if (dataROIC_SDPR.ContainsKey("SDPR")) { data.SustainableDividendPayoutRatio = Convert.ToDecimal(dataROIC_SDPR.Where(a => a.Key == "SDPR").Select(a => a.Value).FirstOrDefault()); } data.LongTermNominalGDPGrowth = longTermGDPGrowth; result.Add(data); return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public List <FreeCashFlowsData> RetrieveFreeCashFlowsData(EntitySelectionData entitySelectionData) { try { List <FreeCashFlowsData> result = new List <FreeCashFlowsData>(); List <GetFreeCashFlows_Result> resultDB = new List <GetFreeCashFlows_Result>(); ExternalResearchEntities dcf_FreeCashFlows = new ExternalResearchEntities(); if (entitySelectionData == null) { return(null); } DimensionEntities entity = DimensionEntity; /* bool isServiceUp; * isServiceUp = CheckServiceAvailability.ServiceAvailability(); * * if (!isServiceUp) * throw new Exception("Services are not available");*/ //Retrieving data from security view GreenField.DAL.GF_SECURITY_BASEVIEW data = entity.GF_SECURITY_BASEVIEW .Where(record => record.TICKER == entitySelectionData.ShortName && record.ISSUE_NAME == entitySelectionData.LongName && record.ASEC_SEC_SHORT_NAME == entitySelectionData.InstrumentID && record.SECURITY_TYPE == entitySelectionData.SecurityType) .FirstOrDefault(); if (data == null) { return(null); } ////Retrieving data from Period Financials table resultDB = dcf_FreeCashFlows.ExecuteStoreQuery <GetFreeCashFlows_Result>("exec GetFreeCashFlows @IssuerID={0}", data.ISSUER_ID).ToList(); foreach (GetFreeCashFlows_Result record in resultDB) { FreeCashFlowsData item = new FreeCashFlowsData(); item.FieldName = record.FIELD_NAME; item.PeriodYear = record.PERIOD_YEAR; item.Amount = record.AMOUNT; result.Add(item); } return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public List <DCFSummaryData> RetrieveSummaryData(EntitySelectionData entitySelectionData) { try { List <DCFSummaryData> result = new List <DCFSummaryData>(); List <DCFSummaryDBData> dbResult = new List <DCFSummaryDBData>(); List <DCFSummaryDBData> dbResultShares = new List <DCFSummaryDBData>(); ExternalResearchEntities entity = new ExternalResearchEntities(); if (entitySelectionData == null) { return(new List <DCFSummaryData>()); } /* #region ServiceAvailabilityChecker * * bool isServiceUp; * isServiceUp = CheckServiceAvailability.ServiceAvailability(); * * if (!isServiceUp) * { * throw new Exception("Services are not available"); * } #endregion*/ GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails = DimensionEntity.GF_SECURITY_BASEVIEW .Where(record => record.ASEC_SEC_SHORT_NAME == entitySelectionData.InstrumentID && record.ISSUE_NAME == entitySelectionData.LongName && record.TICKER == entitySelectionData.ShortName).FirstOrDefault(); string issuerId = securityDetails.ISSUER_ID; if (issuerId == null) { return(new List <DCFSummaryData>()); } dbResult = entity.GetDCFSummaryData(issuerId).ToList(); dbResultShares = entity.GetDCF_NumberOfShares(Convert.ToString(securityDetails.SECURITY_ID)).ToList(); DCFSummaryData data = new DCFSummaryData(); data.Cash = dbResult.Where(a => a.DATA_ID == 255).Select(a => a.AMOUNT).FirstOrDefault(); data.FVInvestments = dbResult.Where(a => a.DATA_ID == 258).Select(a => a.AMOUNT).FirstOrDefault(); data.GrossDebt = dbResult.Where(a => a.DATA_ID == 256).Select(a => a.AMOUNT).FirstOrDefault(); data.FVMinorities = dbResult.Where(a => a.DATA_ID == 257).Select(a => a.AMOUNT).FirstOrDefault(); data.NumberOfShares = dbResultShares.Select(a => a.AMOUNT).FirstOrDefault(); result.Add(data); return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public string RetrieveCountryName(EntitySelectionData entitySelectionData) { try { string countryName = string.Empty; GreenField.DAL.GF_SECURITY_BASEVIEW data = DimensionEntity.GF_SECURITY_BASEVIEW.Where(a => a.ISSUE_NAME == entitySelectionData.LongName).FirstOrDefault(); if (data != null) { countryName = data.ASEC_SEC_COUNTRY_NAME; } if (countryName == null) { return(string.Empty); } return(countryName); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public decimal?RetrieveCurrentPriceData(EntitySelectionData entitySelectionData) { try { if (entitySelectionData == null) { return(0); } /* #region ServiceAvailabilityChecker * * bool isServiceUp; * isServiceUp = CheckServiceAvailability.ServiceAvailability(); * * if (!isServiceUp) * { * throw new Exception("Services are not available"); * } #endregion*/ GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails = DimensionEntity.GF_SECURITY_BASEVIEW .Where(record => record.ASEC_SEC_SHORT_NAME == entitySelectionData.InstrumentID && record.ISSUE_NAME == entitySelectionData.LongName && record.TICKER == entitySelectionData.ShortName).FirstOrDefault(); if (securityDetails == null) { return(0); } return(Convert.ToDecimal(securityDetails.CLOSING_PRICE)); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public List <FairValueCompositionSummaryData> SaveUpdatedFairValueData(EntitySelectionData entitySelectionData, List <FairValueCompositionSummaryData> editedFairValueData) { List <FairValueCompositionSummaryData> result = null; try { if (entitySelectionData == null || editedFairValueData == null) { return(null); } GreenField.DAL.GF_SECURITY_BASEVIEW data = GetSecurityDataForSelectedSecurity(entitySelectionData); if (data == null) { return(null); } string securityId = Convert.ToString(data.SECURITY_ID); ExternalResearchEntities entity = new ExternalResearchEntities(); UpdateSoureValues(ref editedFairValueData); XDocument doc = GetEntityXml <FairValueCompositionSummaryData>(editedFairValueData); var updatedResultSet = entity.SaveUpdatedFairValueMeasures(securityId, doc.ToString()).ToList(); if (updatedResultSet != null) { result = new List <FairValueCompositionSummaryData>(); foreach (GetFairValueComposition_Result record in updatedResultSet) { FairValueCompositionSummaryData item = new FairValueCompositionSummaryData(); if (!String.IsNullOrEmpty(record.SOURCE)) { if (record.SOURCE.ToUpper() == "PRIMARY") { item.Source = "Primary Analyst"; } else { if (record.SOURCE.ToUpper() == "INDUSTRY") { item.Source = "Industry Analyst"; } else { item.Source = record.SOURCE; } } } item.Measure = record.MEASURE; item.Buy = record.BUY; item.Sell = record.SELL; item.Upside = record.UPSIDE; if (record.DATE != null) { item.Date = record.DATE.Value; } item.DataId = record.DATA_ID; item.PrimaryAnalyst = data.ASHMOREEMM_PRIMARY_ANALYST; item.IndustryAnalyst = data.ASHMOREEMM_INDUSTRY_ANALYST; result.Add(item); } } } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } return(result); }
public FairValueCompositionSummaryData RetrieveFairValueDataWithNewUpside(EntitySelectionData entitySelectionData, FairValueCompositionSummaryData editedFairValueData) { FairValueCompositionSummaryData result = null; decimal upsideValue = 0; try { if (entitySelectionData == null || editedFairValueData == null) { return(null); } if (entitySelectionData == null) { return(null); } //retrieving data from security view GreenField.DAL.GF_SECURITY_BASEVIEW data = GetSecurityDataForSelectedSecurity(entitySelectionData); if (data == null) { return(null); } string securityId = Convert.ToString(data.SECURITY_ID); int? dataId = editedFairValueData.DataId; string dataSource = editedFairValueData.Source; ExternalResearchEntities entity = new ExternalResearchEntities(); decimal?amountValue = entity.GetAmountForUpsideCalculation(securityId, dataId, dataSource).FirstOrDefault(); if (amountValue != null) { if (amountValue == 0 || editedFairValueData.Sell == null) { upsideValue = 0; } else { if (dataId != null && dataId != 236) { upsideValue = (decimal)(editedFairValueData.Sell / amountValue) - 1; } else { if (editedFairValueData.Sell != 0) { upsideValue = (decimal)(amountValue / (editedFairValueData.Sell / 100)) - 1; } } } } result = GetFairValueSummary(editedFairValueData, upsideValue); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } return(result); }
public List <FairValueCompositionSummaryData> RetrieveFairValueCompostionSummaryData(EntitySelectionData entitySelectionData) { try { List <FairValueCompositionSummaryData> result = new List <FairValueCompositionSummaryData>(); List <GetFairValueComposition_Result> resultDB = new List <GetFairValueComposition_Result>(); ExternalResearchEntities fairValueCompSummary = new ExternalResearchEntities(); if (entitySelectionData == null) { return(null); } //retrieving data from security view GreenField.DAL.GF_SECURITY_BASEVIEW data = GetSecurityDataForSelectedSecurity(entitySelectionData); if (data == null) { return(null); } //retrieving data from period financials table resultDB = fairValueCompSummary.ExecuteStoreQuery <GetFairValueComposition_Result> ("exec GetFairValueCompositionSummaryData @SECURITY_ID={0}", Convert.ToString(data.SECURITY_ID)).ToList(); string sourceNames = string.Empty; foreach (GetFairValueComposition_Result record in resultDB) { FairValueCompositionSummaryData item = new FairValueCompositionSummaryData(); if (!String.IsNullOrEmpty(record.SOURCE)) { if (record.SOURCE.ToUpper() == "PRIMARY") { item.Source = "Primary Analyst"; } else if (record.SOURCE.ToUpper() == "INDUSTRY") { item.Source = "Industry Analyst"; } else if (record.SOURCE.ToUpper() == "DCF_PE") { item.Source = "DCF-PE"; } else if (record.SOURCE.ToUpper() == "DCF_PBV") { item.Source = "DCF-PBV"; } else { item.Source = record.SOURCE; } } sourceNames += item.Source + ","; item.Measure = record.MEASURE; item.Buy = record.BUY; item.Sell = record.SELL; item.Upside = record.UPSIDE; if (record.DATE != null) { item.Date = record.DATE.Value; } item.DataId = record.DATA_ID; result.Add(item); } if (!sourceNames.Contains("Primary Analyst")) { result.Add(new FairValueCompositionSummaryData { Source = "Primary Analyst" }); } if (!sourceNames.Contains("Industry Analyst")) { result.Add(new FairValueCompositionSummaryData { Source = "Industry Analyst" }); } if (!sourceNames.Contains("DCF-PE")) { result.Add(new FairValueCompositionSummaryData { Source = "DCF-PE" }); } if (!sourceNames.Contains("DCF-PBV")) { result.Add(new FairValueCompositionSummaryData { Source = "DCF-PBV" }); } return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public ExcelModelData RetrieveStatementData(string issuerId, String currency) { List <ModelConsensusEstimatesData> resultConsensus = new List <ModelConsensusEstimatesData>(); List <FinancialStatementDataModels> resultReuters = new List <FinancialStatementDataModels>(); List <FinancialStatementData> resultStatement = new List <FinancialStatementData>(); List <string> commodities = new List <string>(); ExcelModelData modelData = new ExcelModelData(); List <DataPointsModelUploadData> dataPointsExcelUpload = new List <DataPointsModelUploadData>(); ModelReferenceDataPoints dataPointsModelReference = new ModelReferenceDataPoints(); string currencyReuters = ""; string currencyConsensus = string.Empty; try { ExternalResearchEntities entity = new ExternalResearchEntities(); if (issuerId == null) { throw new Exception("Issuer Id is not Valid"); } GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails = DimensionEntity.GF_SECURITY_BASEVIEW .Where(record => record.ISSUER_ID == issuerId).FirstOrDefault(); if (securityDetails == null) { throw new Exception("Issuer Id is not Valid"); } //External_Country_Master countryDetails = entity.External_Country_Master //.Where(record => record.COUNTRY_CODE == securityDetails.ISO_COUNTRY_CODE && // record.COUNTRY_NAME == securityDetails.ASEC_SEC_COUNTRY_NAME) //.FirstOrDefault(); string issuerID = issuerId; //string currency = countryDetails.CURRENCY_CODE; if (currency != null) { resultReuters = RetrieveFinancialData(issuerID, currency); resultConsensus = RetrieveModelConsensusData(issuerID, currency); currencyReuters = currency; currencyConsensus = currency; } if (resultReuters != null) { resultReuters = resultReuters.Where(a => a.PeriodYear != 2300).ToList(); } if (resultReuters == null || resultReuters.Count == 0) { //if (currency != "USD") //{ // resultReuters = RetrieveFinancialData(issuerID, "USD"); // currencyReuters = "USD"; //} //else //{ // resultReuters = new List<FinancialStatementDataModels>(); //} throw new Exception("Data does not exist for the selected currency '" + currency + "' and issuer id '" + issuerId + "'."); } resultReuters = resultReuters.Where(a => a.PeriodYear != 2300).ToList(); if (resultConsensus == null || resultConsensus.Count == 0) { //if (currency != "USD") //{ // resultConsensus = RetrieveModelConsensusData(issuerID, "USD"); // currencyConsensus = "USD"; //} //else //{ // resultConsensus = new List<ModelConsensusEstimatesData>(); //} throw new Exception("Data does not exist for the selected currency '" + currency + "' and issuer id '" + issuerId + "'."); } if (resultReuters == null || resultReuters.Count == 0) { throw new Exception("No Data Returned from server"); } dataPointsExcelUpload = RetrieveModelUploadDataPoints(issuerID); commodities = entity.RetrieveCommodityForecasts().ToList(); ExcelModelData excelModelData = new ExcelModelData(); excelModelData.ConsensusEstimateData = new List <ModelConsensusEstimatesData>(); excelModelData.ModelReferenceData = dataPointsModelReference; excelModelData.ModelUploadDataPoints = dataPointsExcelUpload; excelModelData.Currencies = entity.RetrieveDistinctFXRates().ToList(); excelModelData.Commodities = commodities; excelModelData.ReutersData = resultReuters; excelModelData.CurrencyReuters = currencyReuters; excelModelData.ConsensusEstimateData = resultConsensus; return(excelModelData); } catch (Exception ex) { string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public List <DCFAnalysisSummaryData> RetrieveDCFAnalysisData(EntitySelectionData entitySelectionData) { try { string issuerId; List <DCFAnalysisSummaryData> result = new List <DCFAnalysisSummaryData>(); List <DCFAnalysisSummaryData_Result> dbResult; MODEL_INPUTS_CTY modelData = new MODEL_INPUTS_CTY(); decimal marketCap; ExternalResearchEntities entity = new ExternalResearchEntities(); if (entitySelectionData == null) { return(new List <DCFAnalysisSummaryData>()); } /* #region ServiceAvailabilityChecker * * bool isServiceUp; * isServiceUp = CheckServiceAvailability.ServiceAvailability(); * * if (!isServiceUp) * { * throw new Exception("Services are not available"); * } #endregion*/ GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails = DimensionEntity.GF_SECURITY_BASEVIEW .Where(record => record.ASEC_SEC_SHORT_NAME == entitySelectionData.InstrumentID && record.ISSUE_NAME == entitySelectionData.LongName && record.TICKER == entitySelectionData.ShortName).FirstOrDefault(); if (securityDetails == null) { return(new List <DCFAnalysisSummaryData>()); } issuerId = securityDetails.ISSUER_ID; if (issuerId == null) { return(new List <DCFAnalysisSummaryData>()); } dbResult = entity.RetrieveDCFAnalysisSummaryData(issuerId, "PRIMARY", "C", "FISCAL", "USD").ToList(); modelData = entity.GetDCFRiskFreeRate(Convert.ToString(securityDetails.ISO_COUNTRY_CODE)).FirstOrDefault(); marketCap = Convert.ToDecimal(entity.GetDCFMarketCap(Convert.ToString(securityDetails.SECURITY_ID)).FirstOrDefault()); DCFAnalysisSummaryData data = new DCFAnalysisSummaryData(); data.SecurityId = securityDetails.ASEC_SEC_SHORT_NAME; data.IssuerId = securityDetails.ISSUER_ID; data.Beta = (securityDetails.BARRA_BETA == null) ? (Convert.ToDecimal(securityDetails.BETA)) : (Convert.ToDecimal(securityDetails.BARRA_BETA)); data.CostOfDebt = Convert.ToDecimal(securityDetails.WACC_COST_DEBT); data.MarginalTaxRate = dbResult.Where(a => a.DATA_ID == 289 && a.PERIOD_TYPE.Trim() == "C").Select(a => a.AMOUNT).FirstOrDefault(); data.GrossDebt = dbResult.Where(a => a.DATA_ID == 256 && a.PERIOD_TYPE.Trim() == "C").Select(a => a.AMOUNT).FirstOrDefault(); data.MarketCap = Convert.ToDecimal(marketCap); if (modelData != null) { data.RiskFreeRate = (modelData.RISK_FREE_RATE != null ? modelData.RISK_FREE_RATE : 0); data.MarketRiskPremium = (modelData.RISK_PREM != null ? modelData.RISK_PREM : 0); } result.Add(data); return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
/// <summary> /// Retrieve Data for Model-Reference worksheet /// </summary> /// <param name="issuerId">IssuerId of the selected Security</param> /// <param name="securityDetails">Data of the selected security from GF_SECURITY_BASEVIEW</param> /// <returns>object of type ModelReferenceDatapoints</returns> private ModelReferenceDataPoints RetrieveExcelModelReferenceData(string issuerId, GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails) { try { ExternalResearchEntities entity = new ExternalResearchEntities(); ModelReferenceDataPoints data = new ModelReferenceDataPoints(); data.IssuerId = issuerId; data.IssuerName = securityDetails.ISSUER_NAME; INTERNAL_ISSUER issuerData = entity.RetrieveCOAType(issuerId).FirstOrDefault(); if (issuerData != null) { data.COATypes = issuerData.COA_TYPE; } return(data); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); return(null); } }
private List <FairValueCompositionSummaryData> GetSummaryDataIfDatabaseContaisnNorecords(GreenField.DAL.GF_SECURITY_BASEVIEW data) { List <FairValueCompositionSummaryData> dataList = new List <FairValueCompositionSummaryData>(); FairValueCompositionSummaryData item1 = new FairValueCompositionSummaryData(); item1.Source = "Primary Analyst"; item1.Measure = null; item1.Buy = null; item1.Sell = null; item1.Upside = null; item1.DataId = null; item1.PrimaryAnalyst = data.ASHMOREEMM_PRIMARY_ANALYST; item1.IndustryAnalyst = data.ASHMOREEMM_INDUSTRY_ANALYST; dataList.Add(item1); FairValueCompositionSummaryData item2 = new FairValueCompositionSummaryData(); item2.Source = "Industry"; item2.Measure = null; item2.Buy = null; item2.Sell = null; item2.Upside = null; item2.DataId = null; item2.PrimaryAnalyst = data.ASHMOREEMM_PRIMARY_ANALYST; item2.IndustryAnalyst = data.ASHMOREEMM_INDUSTRY_ANALYST; dataList.Add(item2); return(dataList); }
public List <DCFCashFlowData> RetrieveCashFlows(EntitySelectionData entitySelectionData) { try { List <DCFCashFlowData> result = new List <DCFCashFlowData>(); List <DCFCashFlowData> dbResult = new List <DCFCashFlowData>(); ExternalResearchEntities entity = new ExternalResearchEntities(); if (entitySelectionData == null) { return(new List <DCFCashFlowData>()); } /* #region ServiceAvailabilityChecker * * bool isServiceUp; * isServiceUp = CheckServiceAvailability.ServiceAvailability(); * * if (!isServiceUp) * { * throw new Exception("Services are not available"); * } #endregion */ GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails = DimensionEntity.GF_SECURITY_BASEVIEW .Where(record => record.ASEC_SEC_SHORT_NAME == entitySelectionData.InstrumentID && record.ISSUE_NAME == entitySelectionData.LongName && record.TICKER == entitySelectionData.ShortName).FirstOrDefault(); string issuerId = securityDetails.ISSUER_ID; if (issuerId == null) { return(new List <DCFCashFlowData>()); } dbResult = entity.GetDCFCashFlow(issuerId).OrderBy(a => a.PERIOD_YEAR).ToList(); if (dbResult == null || dbResult.Count == 0) { return(new List <DCFCashFlowData>()); } int currentYear = DateTime.Today.Year; for (int i = 0; i < 10; i++) { if (dbResult.Where(a => a.PERIOD_YEAR == currentYear + i).FirstOrDefault() != null) { result.Add(dbResult.Where(a => a.PERIOD_YEAR == currentYear + i).FirstOrDefault()); } else { result.Add(new DCFCashFlowData() { AMOUNT = 0, DISCOUNTING_FACTOR = 0, PERIOD_YEAR = currentYear + i }); } } decimal average = result.Where(a => a.PERIOD_YEAR < currentYear + 5).Select(a => Convert.ToDecimal(a.AMOUNT)).Sum() / 5; foreach (DCFCashFlowData item in result) { if (item.PERIOD_YEAR > currentYear + 4) { item.AMOUNT = average * Convert.ToDecimal(Math.Pow((0.99), Convert.ToDouble(item.PERIOD_YEAR - (currentYear + 4)))); } item.FREE_CASH_FLOW = item.AMOUNT; } return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public List <FairValueCompositionSummaryData> RetrieveFairValueCompostionSummary(EntitySelectionData entitySelectionData) { try { List <FairValueCompositionSummaryData> result = new List <FairValueCompositionSummaryData>(); List <GetFairValueComposition_Result> resultDB = new List <GetFairValueComposition_Result>(); ExternalResearchEntities fairValueCompSummary = new ExternalResearchEntities(); if (entitySelectionData == null) { return(null); } //Retrieving data from security view GreenField.DAL.GF_SECURITY_BASEVIEW data = GetSecurityDataForSelectedSecurity(entitySelectionData); if (data == null) { return(null); } ////Retrieving data from Period Financials table resultDB = fairValueCompSummary.ExecuteStoreQuery <GetFairValueComposition_Result>("exec GetFairValueCompositionSummaryData @SECURITY_ID={0}", Convert.ToString(data.SECURITY_ID)).ToList(); if (resultDB == null || resultDB.Count == 0) { List <FairValueCompositionSummaryData> items = GetSummaryDataIfDatabaseContaisnNorecords(data); result.AddRange(items); } foreach (GetFairValueComposition_Result record in resultDB) { FairValueCompositionSummaryData item = new FairValueCompositionSummaryData(); if (!String.IsNullOrEmpty(record.SOURCE)) { if (record.SOURCE.ToUpper() == "PRIMARY") { item.Source = "Primary Analyst"; } else { if (record.SOURCE.ToUpper() == "INDUSTRY") { item.Source = "Industry Analyst"; } else { item.Source = record.SOURCE; } } } item.Measure = record.MEASURE; item.Buy = record.BUY; item.Sell = record.SELL; item.Upside = record.UPSIDE; if (record.DATE != null) { item.Date = record.DATE.Value; } item.DataId = record.DATA_ID; item.PrimaryAnalyst = data.ASHMOREEMM_PRIMARY_ANALYST; item.IndustryAnalyst = data.ASHMOREEMM_INDUSTRY_ANALYST; result.Add(item); } return(result); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }
public byte[] RetrieveStatementData(EntitySelectionData selectedSecurity) { List <ModelConsensusEstimatesData> resultConsensus = new List <ModelConsensusEstimatesData>(); List <FinancialStatementDataModels> resultReuters = new List <FinancialStatementDataModels>(); List <FinancialStatementData> resultStatement = new List <FinancialStatementData>(); List <string> commodities = new List <string>(); ExcelModelData modelData = new ExcelModelData(); List <DataPointsModelUploadData> dataPointsExcelUpload = new List <DataPointsModelUploadData>(); ModelReferenceDataPoints dataPointsModelReference = new ModelReferenceDataPoints(); string currencyReuters = ""; string currencyConsensus = ""; try { ExternalResearchEntities entity = new ExternalResearchEntities(); if (selectedSecurity == null) { return(new byte[1]); } GreenField.DAL.GF_SECURITY_BASEVIEW securityDetails = DimensionEntity.GF_SECURITY_BASEVIEW .Where(record => record.ASEC_SEC_SHORT_NAME == selectedSecurity.InstrumentID && record.ISSUE_NAME == selectedSecurity.LongName && record.TICKER == selectedSecurity.ShortName).FirstOrDefault(); if (securityDetails == null) { return(new byte[1]); } External_Country_Master countryDetails = entity.External_Country_Master .Where(record => record.COUNTRY_CODE == securityDetails.ISO_COUNTRY_CODE && record.COUNTRY_NAME == securityDetails.ASEC_SEC_COUNTRY_NAME) .FirstOrDefault(); string issuerID = securityDetails.ISSUER_ID; string currency = countryDetails.CURRENCY_CODE; if (issuerID == null) { return(new byte[1]); } if (currency != null) { resultReuters = RetrieveFinancialData(issuerID, currency); resultConsensus = RetrieveModelConsensusData(issuerID, currency); currencyReuters = currency; currencyConsensus = currency; } if (resultReuters != null) { resultReuters = resultReuters.Where(a => a.PeriodYear != 2300).ToList(); } if (resultReuters == null || resultReuters.Count == 0) { if (currency != "USD") { resultReuters = RetrieveFinancialData(issuerID, "USD"); currencyReuters = "USD"; } else { resultReuters = new List <FinancialStatementDataModels>(); } } resultReuters = resultReuters.Where(a => a.PeriodYear != 2300).ToList(); if (resultConsensus == null || resultConsensus.Count == 0) { if (currency != "USD") { resultConsensus = RetrieveModelConsensusData(issuerID, "USD"); currencyConsensus = "USD"; } else { resultConsensus = new List <ModelConsensusEstimatesData>(); } } dataPointsExcelUpload = RetrieveModelUploadDataPoints(issuerID); dataPointsModelReference = RetrieveExcelModelReferenceData(issuerID, securityDetails); commodities = entity.RetrieveCommodityForecasts().ToList(); ExcelModelData excelModelData = new ExcelModelData(); excelModelData.ModelReferenceData = dataPointsModelReference; excelModelData.ModelUploadDataPoints = dataPointsExcelUpload; excelModelData.Currencies = entity.RetrieveDistinctFXRates().ToList(); excelModelData.Commodities = commodities; return(GenerateOpenXMLExcelModel.GenerateExcel(resultReuters, resultConsensus, currencyReuters, currencyConsensus, excelModelData)); } catch (Exception ex) { ExceptionTrace.LogException(ex); string networkFaultMessage = ServiceFaultResourceManager.GetString("NetworkFault").ToString(); throw new FaultException <ServiceFault>(new ServiceFault(networkFaultMessage), new FaultReason(ex.Message)); } }