/// <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); } }
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 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)); } }