コード例 #1
0
        public GetCommonSizeIncomeStatementResult GetCommonSizeIncomeStatement(GetCommonSizeIncomeStatementParams cmpCommonSizeBSParams)
        {
            string        spName = "[SP_Get_Company_CommonSizeStatementOfOperations]";
            SqlConnection conn   = OpenConnection("ConnectionStringFilings");

            GetCommonSizeIncomeStatementResult result = new GetCommonSizeIncomeStatementResult();

            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = schema + "." + spName;
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Connection  = conn;

            // Company code
            SqlParameter paramCompanyCode = new SqlParameter("@CompanyCode", SqlDbType.NVarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Current, cmpCommonSizeBSParams.CompanyCode);

            // Regulator code
            SqlParameter paramRegulatorCode = new SqlParameter("@RegulatorCode", SqlDbType.NVarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Current, cmpCommonSizeBSParams.RegulatorCode);

            // Filing name
            SqlParameter paramFilingName = new SqlParameter("@FilingName", SqlDbType.NVarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Current, cmpCommonSizeBSParams.Name);

            cmd.Parameters.Add(paramCompanyCode);
            cmd.Parameters.Add(paramRegulatorCode);
            cmd.Parameters.Add(paramFilingName);

            DataSet        ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();

            da.SelectCommand = cmd;

            da.Fill(ds);

            if (ds.Tables.Count >= 1)
            {
                // second table - filing data
                foreach (DataRow r in ds.Tables[0].Rows)
                {
                    string valLabel = (string)r["Label"];

                    if (cmpCommonSizeBSParams.Values == null || cmpCommonSizeBSParams.Values.Count == 0 || cmpCommonSizeBSParams.Values.Contains(valLabel))
                    {
                        DateTime periodStart = (DateTime)r["Start_Dttm"];
                        DateTime periodEnd   = (DateTime)r["End_Dttm"];

                        FilingRecord fr = new FilingRecord();
                        fr.Code        = valLabel;
                        fr.Instant     = periodStart == periodEnd ? periodStart : DateTime.MinValue;
                        fr.PeriodEnd   = periodEnd;
                        fr.PeriodStart = periodStart;
                        fr.Value       = (decimal)r["CommonSizeValue"];

                        result.Data.Add(fr);
                    }
                }
            }

            conn.Close();

            return(result);
        }
コード例 #2
0
        public GetCompanyFilingResult GetCompanyFilingData(GetCompanyFilingParams cmpFilingParams)
        {
            string        spName = "[SP_Get_Company_Filing_Data]";
            SqlConnection conn   = OpenConnection("ConnectionStringFilings");

            GetCompanyFilingResult result = new GetCompanyFilingResult();

            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = schema + "." + spName;
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Connection  = conn;

            // Company code
            SqlParameter paramCompanyCode = new SqlParameter("@CompanyCode", SqlDbType.NVarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Current, cmpFilingParams.CompanyCode);

            // Regulator code
            SqlParameter paramRegulatorCode = new SqlParameter("@RegulatorCode", SqlDbType.NVarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Current, cmpFilingParams.RegulatorCode);

            // Filing name
            SqlParameter paramFilingName = new SqlParameter("@FilingName", SqlDbType.NVarChar, 255, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Current, cmpFilingParams.Name);

            cmd.Parameters.Add(paramCompanyCode);
            cmd.Parameters.Add(paramRegulatorCode);
            cmd.Parameters.Add(paramFilingName);

            DataSet        ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();

            da.SelectCommand = cmd;

            da.Fill(ds);

            if (ds.Tables.Count >= 2)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    // first table - metadata
                    CompanyFilingInfo filingInfo = new CompanyFilingInfo();
                    filingInfo.Name        = (string)ds.Tables[0].Rows[0]["Filing_Name"];
                    filingInfo.Type        = (string)ds.Tables[0].Rows[0]["Type_Code"];
                    filingInfo.PeriodEnd   = (DateTime)ds.Tables[0].Rows[0]["End_Dt"];
                    filingInfo.PeriodStart = (DateTime)ds.Tables[0].Rows[0]["Start_Dt"];
                    filingInfo.Submitted   = (DateTime)ds.Tables[0].Rows[0]["Submit_Dt"];
                    result.FilingInfo      = filingInfo;


                    foreach (DataRow r in ds.Tables[1].Rows)
                    {
                        string valLabel = (string)r["Value_Label"];

                        if (cmpFilingParams.Values == null || cmpFilingParams.Values.Count == 0 || cmpFilingParams.Values.Contains(valLabel))
                        {
                            DateTime periodStart = (DateTime)r["Start_Dttm"];
                            DateTime periodEnd   = (DateTime)r["End_Dttm"];

                            FilingRecord fr = new FilingRecord();
                            fr.Code        = valLabel;
                            fr.Instant     = periodStart == periodEnd ? periodStart : DateTime.MinValue;
                            fr.PeriodEnd   = periodEnd;
                            fr.PeriodStart = periodStart;
                            fr.Unit        = !DBNull.Value.Equals(r["Unit"]) ? (string)r["Unit"] : null;
                            fr.Value       = !DBNull.Value.Equals(r["Value"]) ? (decimal?)r["Value"] : null;
                            fr.Value_Str   = !DBNull.Value.Equals(r["Value_Str"]) ? (string)r["Value_Str"] : null;
                            fr.Value_Dttm  = !DBNull.Value.Equals(r["Value_Dttm"]) ? (DateTime?)r["Value_Dttm"] : null;
                            fr.FactId      = !DBNull.Value.Equals(r["FactId"]) ? (string)r["FactId"] : null;
                            result.Data.Add(fr);
                        }
                    }
                }
            }

            conn.Close();

            return(result);
        }