コード例 #1
0
        private CalculationAmountViewModel calculationVM(string itemCode)
        {
            CalculationAmountViewModel calculationVM = new CalculationAmountViewModel();

            QueryStr queryStr = new QueryStr(this.masterInfo_);

            queryStr.VariableMap_.Add("KR_CODE", itemCode);

            conn_.clearQuery();
            conn_.addQuery("elsmaster", queryStr.getQuery());
            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["elsmaster"];

            string issue_amt = "0";
            string currency  = "KRW";

            foreach (DataRow item in tb.Rows)
            {
                issue_amt = item["ISSUE_AMT"].ToString();
            }

            calculationVM.Amount_   = issue_amt;
            calculationVM.Currency_ = currency;

            return(calculationVM);
        }
コード例 #2
0
        private CorrelationInfo_paraViewModel makeCorrInfo(List <string> underCodeList)
        {
            QueryStr queryStr = new QueryStr(this.corrQueryInfo_);

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < underCodeList.Count; i++)
            {
                sb.Append(QueryStr.wrapComma(underCodeList[i]));

                if (i != underCodeList.Count - 1)
                {
                    sb.Append(",");
                }
            }

            queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd"));
            queryStr.VariableMap_.Add("UNDER_LIST", sb.ToString());

            conn_.addQuery("underCorrInfo", queryStr.getQuery());

            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["underCorrInfo"];

            List <string> first  = new List <string>();
            List <string> second = new List <string>();
            List <string> values = new List <string>();

            foreach (DataRow item in tb.Rows)
            {
                first.Add(item["STOCK_ID"].ToString());
                second.Add(item["OTHER_ID"].ToString());
                values.Add(item["CORR"].ToString());
            }

            CorrelationInfo_paraViewModel corrInfoVM = new CorrelationInfo_paraViewModel();

            corrInfoVM.Dimension_ = underCodeList.Count.ToString();

            //Int32 dimensionTrans = underCodeList.Count;
            //Int32 needCorrNum = dimensionTrans * (dimensionTrans + 1) / 2;

            for (int i = 0; i < values.Count; i++)
            {
                corrInfoVM.Correlation_paraViewModel_.Add(this.makeCorr(first[i], second[i], values[i]));
            }

            return(corrInfoVM);
        }
コード例 #3
0
        private DiscountCurve_paraViewModel discount_paraVM(string itemCode)
        {
            DiscountCurve_paraViewModel discount_paraVM = new DiscountCurve_paraViewModel();
            YieldTermstructureViewModel yieldTSVM       = new YieldTermstructureViewModel();

            yieldTSVM.Type_                  = "ZEROYIELD";
            yieldTSVM.Interpolation_         = "BACKWARDFLAT";
            yieldTSVM.Daycounter_            = "ACT365FIX";
            yieldTSVM.Calendar_              = "NULLCALENDAR";
            yieldTSVM.BusinessDayConvention_ = "Following";

            QueryStr queryStr = new QueryStr(this.discountQueryInfo_);

            queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd"));
            queryStr.VariableMap_.Add("CURVE_CODE", "S");
            queryStr.VariableMap_.Add("BOND_CLASS_ID", "111001");

            conn_.clearQuery();
            conn_.addQuery("discountCurve", queryStr.getQuery());
            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["discountCurve"];

            foreach (DataRow item in tb.Rows)
            {
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("1", "D", (Convert.ToDouble(item["D001"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("3", "M", (Convert.ToDouble(item["M003"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("6", "M", (Convert.ToDouble(item["M006"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("9", "M", (Convert.ToDouble(item["M009"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("12", "M", (Convert.ToDouble(item["M012"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("18", "M", (Convert.ToDouble(item["M018"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("24", "M", (Convert.ToDouble(item["M024"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("30", "M", (Convert.ToDouble(item["M030"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("36", "M", (Convert.ToDouble(item["M036"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("48", "M", (Convert.ToDouble(item["M048"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("60", "M", (Convert.ToDouble(item["M060"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("84", "M", (Convert.ToDouble(item["M084"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("120", "M", (Convert.ToDouble(item["M120"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("180", "M", (Convert.ToDouble(item["M180"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("240", "M", (Convert.ToDouble(item["M240"].ToString()) / 100).ToString()));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("360", "M", (Convert.ToDouble(item["M360"].ToString()) / 100).ToString()));
            }

            discount_paraVM.YieldTermstructureViewModel_.Add(yieldTSVM);

            return(discount_paraVM);
        }
コード例 #4
0
        private UnderlyingInfo_paraViewModel underInfo_paraVM(string itemCode)
        {
            UnderlyingInfo_paraViewModel underInfo_paraVM = new UnderlyingInfo_paraViewModel();

            QueryStr queryStr = new QueryStr(this.fileInfo_);

            queryStr.VariableMap_.Add("ITEM_CODE", itemCode);
            queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd"));

            conn_.addQuery("underInfo", queryStr.getQuery());

            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["underInfo"];

            string krCode;
            string underName;
            string currentValue;
            string drift;
            string dividend;
            string volatility;

            List <string> underCode = new List <string>();

            foreach (DataRow item in tb.Rows)
            {
                krCode       = item["STOCK_ID"].ToString();
                underName    = item["STOCK_NAME"].ToString();
                currentValue = item["CURR_PRICE"].ToString();
                drift        = (Convert.ToDouble(item["RF"].ToString()) / 100).ToString();
                dividend     = (Convert.ToDouble(item["DIVIDEND_RATE"].ToString()) / 100).ToString();
                volatility   = (Convert.ToDouble(item["VOL"].ToString()) / 100).ToString();

                underCode.Add(krCode);

                GeometricBMViewModel gbmVM = this.makeGBM(krCode, underName, currentValue, drift, dividend, volatility);

                underInfo_paraVM.Underlying_paraViewModel_.Add(gbmVM);
            }

            underInfo_paraVM.CorrelationInfo_paraViewModel_ = this.makeCorrInfo(underCode);

            return(underInfo_paraVM);
        }
コード例 #5
0
        private void positionLoad()
        {
            this.PositionList_ = new List<string>();

            QueryStr queryStr = new QueryStr(this.positionInfo_);

            queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd"));
            queryStr.VariableMap_.Add("FUND_CODE", "A27212','A27211','A27214");
            
            conn_.clearQuery();
            conn_.addQuery("position", queryStr.getQuery());
            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["position"];

            foreach (DataRow item in tb.Rows)
            {
                this.PositionList_.Add(item["KR_CODE"].ToString());
            }
        }
コード例 #6
0
        private void positionLoad()
        {
            this.PositionList_ = new List <string>();

            QueryStr queryStr = new QueryStr(this.positionInfo_);

            queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd"));
            queryStr.VariableMap_.Add("FUND_CODE", "A27212','A27211','A27214");

            conn_.clearQuery();
            conn_.addQuery("position", queryStr.getQuery());
            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["position"];

            foreach (DataRow item in tb.Rows)
            {
                this.PositionList_.Add(item["KR_CODE"].ToString());
            }
        }
コード例 #7
0
        public List <double> loadHistory(string itemCode, DateTime startDate, DateTime endDate)
        {
            OracleDataBaseConnect conn = OracleDataBaseConnect.CreateOracleDBConnet("Local");

            QueryStr query = new QueryStr(fileInfo1_);

            query.VariableMap_.Add("stockID", itemCode);
            query.VariableMap_.Add("startDate", startDate.ToString("yyyyMMdd"));
            query.VariableMap_.Add("endDate", endDate.ToString("yyyyMMdd"));

            conn.addQuery("Test", query.getQuery());
            conn.excute();

            List <double> valueList = new List <double>();
            List <string> datestr   = new List <string>();

            foreach (DataRow item in conn.ResultDataSet_.Tables["Test"].Rows)
            {
                valueList.Add(Convert.ToDouble(item["CURR_PRICE"].ToString()));
                datestr.Add(item["STD_DATE"].ToString());
            }

            return(Result_);
        }
コード例 #8
0
        public List<double> loadHistory(string itemCode, DateTime startDate, DateTime endDate)
        {
            OracleDataBaseConnect conn = OracleDataBaseConnect.CreateOracleDBConnet("Local");

            QueryStr query = new QueryStr(fileInfo1_);

            query.VariableMap_.Add("stockID", itemCode);
            query.VariableMap_.Add("startDate", startDate.ToString("yyyyMMdd"));
            query.VariableMap_.Add("endDate", endDate.ToString("yyyyMMdd"));

            conn.addQuery("Test", query.getQuery());
            conn.excute();
            
            List<double> valueList = new List<double>();
            List<string> datestr = new List<string>();

            foreach (DataRow item in conn.ResultDataSet_.Tables["Test"].Rows)
            {
                valueList.Add(Convert.ToDouble(item["CURR_PRICE"].ToString()));
                datestr.Add(item["STD_DATE"].ToString());
            }

            return Result_;
        }
コード例 #9
0
        private CorrelationInfo_paraViewModel makeCorrInfo(List<string> underCodeList)
        {

            QueryStr queryStr = new QueryStr(this.corrQueryInfo_);

            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < underCodeList.Count; i++)
            {
                sb.Append(QueryStr.wrapComma(underCodeList[i]));

                if (i != underCodeList.Count - 1)
                {
                    sb.Append(",");
                }

            }

            queryStr.VariableMap_.Add("STD_DATE",this.ReferenceDate_.ToString("yyyyMMdd"));
            queryStr.VariableMap_.Add("UNDER_LIST", sb.ToString());

            conn_.addQuery("underCorrInfo", queryStr.getQuery());

            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["underCorrInfo"];

            List<string> first = new List<string>();
            List<string> second = new List<string>();
            List<string> values = new List<string>();

            foreach (DataRow item in tb.Rows)
            {
                first.Add(item["STOCK_ID"].ToString());
                second.Add(item["OTHER_ID"].ToString());
                values.Add(item["CORR"].ToString());
            }

            CorrelationInfo_paraViewModel corrInfoVM = new CorrelationInfo_paraViewModel();
            corrInfoVM.Dimension_ = underCodeList.Count.ToString();

            //Int32 dimensionTrans = underCodeList.Count;
            //Int32 needCorrNum = dimensionTrans * (dimensionTrans + 1) / 2;

            for (int i = 0; i < values.Count; i++)
            {
                corrInfoVM.Correlation_paraViewModel_.Add(this.makeCorr(first[i], second[i], values[i]));
            }

            return corrInfoVM;

        }
コード例 #10
0
        private UnderlyingInfo_paraViewModel underInfo_paraVM(string itemCode)
        {
            UnderlyingInfo_paraViewModel underInfo_paraVM = new UnderlyingInfo_paraViewModel();

            QueryStr queryStr = new QueryStr(this.fileInfo_);

            queryStr.VariableMap_.Add("ITEM_CODE", itemCode);
            queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd"));

            conn_.addQuery("underInfo", queryStr.getQuery());

            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["underInfo"];

            string krCode;
            string underName;
            string currentValue;
            string drift;
            string dividend;
            string volatility;

            List<string> underCode = new List<string>();

            foreach (DataRow item in tb.Rows)
            {
                krCode = item["STOCK_ID"].ToString();
                underName = item["STOCK_NAME"].ToString();
                currentValue = item["CURR_PRICE"].ToString();
                drift = ( Convert.ToDouble(item["RF"].ToString())/100 ).ToString();
                dividend = (Convert.ToDouble(item["DIVIDEND_RATE"].ToString()) / 100).ToString();
                volatility = (Convert.ToDouble(item["VOL"].ToString()) / 100).ToString();

                underCode.Add(krCode);

                GeometricBMViewModel gbmVM = this.makeGBM(krCode, underName, currentValue, drift, dividend, volatility);

                underInfo_paraVM.Underlying_paraViewModel_.Add(gbmVM);
            }

            underInfo_paraVM.CorrelationInfo_paraViewModel_ = this.makeCorrInfo(underCode);

            return underInfo_paraVM;
        }
コード例 #11
0
        private DiscountCurve_paraViewModel discount_paraVM(string itemCode)
        {
            DiscountCurve_paraViewModel discount_paraVM = new DiscountCurve_paraViewModel();
            YieldTermstructureViewModel yieldTSVM = new YieldTermstructureViewModel();

            yieldTSVM.Type_ = "ZEROYIELD";
            yieldTSVM.Interpolation_ = "BACKWARDFLAT";
            yieldTSVM.Daycounter_ = "ACT365FIX";
            yieldTSVM.Calendar_ = "NULLCALENDAR";
            yieldTSVM.BusinessDayConvention_ = "Following";

            QueryStr queryStr = new QueryStr(this.discountQueryInfo_);

            queryStr.VariableMap_.Add("STD_DATE", this.ReferenceDate_.ToString("yyyyMMdd"));
            queryStr.VariableMap_.Add("CURVE_CODE", "S");
            queryStr.VariableMap_.Add("BOND_CLASS_ID","111001");
            
            conn_.clearQuery();
            conn_.addQuery("discountCurve", queryStr.getQuery());
            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["discountCurve"];

            foreach (DataRow item in tb.Rows)
	        {
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("1","D", ( Convert.ToDouble(item["D001"].ToString())/100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("3", "M", ( Convert.ToDouble(item["M003"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("6", "M", ( Convert.ToDouble(item["M006"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("9", "M", ( Convert.ToDouble(item["M009"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("12", "M", ( Convert.ToDouble(item["M012"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("18", "M", ( Convert.ToDouble(item["M018"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("24", "M", ( Convert.ToDouble(item["M024"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("30", "M", ( Convert.ToDouble(item["M030"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("36", "M", ( Convert.ToDouble(item["M036"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("48", "M", ( Convert.ToDouble(item["M048"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("60", "M", ( Convert.ToDouble(item["M060"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("84", "M", ( Convert.ToDouble(item["M084"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("120", "M", ( Convert.ToDouble(item["M120"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("180", "M", ( Convert.ToDouble(item["M180"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("240", "M", ( Convert.ToDouble(item["M240"].ToString()) / 100).ToString() ));
                yieldTSVM.RateDataViewModel_.Add(this.rateDataVM("360", "M", ( Convert.ToDouble(item["M360"].ToString()) / 100).ToString() ));

	        }

            discount_paraVM.YieldTermstructureViewModel_.Add(yieldTSVM);

            return discount_paraVM;
        }
コード例 #12
0
        private CalculationAmountViewModel calculationVM(string itemCode)
        {
            CalculationAmountViewModel calculationVM = new CalculationAmountViewModel();

            QueryStr queryStr = new QueryStr(this.masterInfo_);

            queryStr.VariableMap_.Add("KR_CODE", itemCode);

            conn_.clearQuery();
            conn_.addQuery("elsmaster", queryStr.getQuery());
            conn_.excute();

            DataTable tb = conn_.ResultDataSet_.Tables["elsmaster"];

            string issue_amt = "0";
            string currency = "KRW";

            foreach (DataRow item in tb.Rows)
            {
                issue_amt = item["ISSUE_AMT"].ToString();

            }

            calculationVM.Amount_ = issue_amt;
            calculationVM.Currency_ = currency;

            return calculationVM;
        }
コード例 #13
0
        public void addInstDB(InstPositionWrapperVM wrapperVM)
        {
            SqlCeConnection connection = new SqlCeConnection("Data Source=D:\\Project File\\OTCDerivativesCalculatorModule\\Project_CSharp\\RiskMonitor\\Data\\Data_Interface\\MarketDataBase.sdf");

            try
            {
                DataTable tb = new DataTable();

                SqlCeCommand command = connection.CreateCommand();
                connection.Open();

                SqlCeCommand delCommand = connection.CreateCommand();
                //delCommand.CommandText = "DELETE FROM CORRELATION WHERE DATE ='" + ReferenceDate_.ToString("yyyyMMdd") + "'";
                //delCommand.ExecuteNonQuery();

                string KR_CODE       = QueryStr.wrapComma(wrapperVM.KRCode_);
                string INST_NAME     = QueryStr.wrapComma(wrapperVM.InstName_);
                string INST_CODE     = QueryStr.wrapComma(wrapperVM.InstCode_);
                string BOOKED_DATE   = QueryStr.wrapComma(wrapperVM.BookedDate_);
                string UNBOOKED_DATE = QueryStr.wrapComma(wrapperVM.UnBookedDate_);
                string MATURITY_DATE = QueryStr.wrapComma(wrapperVM.MaturityDate_);
                string INST_TYPE     = QueryStr.wrapComma(wrapperVM.InstType_);
                string FILE_NAME     = QueryStr.wrapComma(wrapperVM.FileName_);
                string POSITION_NAME = QueryStr.wrapComma(wrapperVM.PositionName_);
                string COUNTERPARTY  = QueryStr.wrapComma(wrapperVM.CounterParty_);
                string NOTIONAL      = QueryStr.wrapComma(wrapperVM.Notional_);
                string CURRENCY      = QueryStr.wrapComma(wrapperVM.Currency_);
                string FUND_CODE     = QueryStr.wrapComma(wrapperVM.FundCode_);
                string FUND_NAME     = QueryStr.wrapComma(wrapperVM.FundName_);

                command.CommandText = "INSERT INTO POSITIONMASTER (KR_CODE,INST_NAME,INST_CODE,BOOKED_DATE,UNBOOKED_DATE," +
                                      " MATURITY_DATE,INST_TYPE,FILE_NAME,POSITION_NAME,COUNTERPARTY," +
                                      " NOTIONAL,CURRENCY,FUND_CODE,FUND_NAME) " +
                                      " VALUES (" + KR_CODE + "," +
                                      INST_NAME + "," +
                                      INST_CODE + "," +
                                      BOOKED_DATE + "," +
                                      UNBOOKED_DATE + "," +
                                      MATURITY_DATE + "," +
                                      INST_TYPE + "," +
                                      FILE_NAME + "," +
                                      POSITION_NAME + "," +
                                      COUNTERPARTY + "," +
                                      NOTIONAL + "," +
                                      CURRENCY + "," +
                                      FUND_CODE + "," +
                                      FUND_NAME + ")";


                //command.ExecuteNonQuery();

                //command.Parameters.Add("@pdate", SqlDbType.NVarChar);
                //command.Parameters.Add("@pcode_a", SqlDbType.NVarChar);
                //command.Parameters.Add("@pname_a", SqlDbType.NVarChar);
                //command.Parameters.Add("@pcode_b", SqlDbType.NVarChar);
                //command.Parameters.Add("@pname_b", SqlDbType.NVarChar);
                //command.Parameters.Add("@pcorr", SqlDbType.NVarChar);
                //command.Parameters.Add("@ptype", SqlDbType.NVarChar);
                //command.Parameters.Add("@pvendor", SqlDbType.NVarChar);
                //command.Parameters.Add("@pdescription", SqlDbType.NVarChar);

                //foreach (DataRow item in tb.Rows)
                //{
                //    string code_a = item["STOCK_ID"].ToString();
                //    string code_b = item["OTHER_ID"].ToString();

                //    if (code_a != code_b)
                //    {
                //        command.Parameters["@pdate"].Value = item["STD_DATE"].ToString();
                //        command.Parameters["@pcode_a"].Value = code_a;
                //        command.Parameters["@pname_a"].Value = "null";
                //        command.Parameters["@pcode_b"].Value = code_b;
                //        command.Parameters["@pname_b"].Value = "null";
                //        command.Parameters["@pcorr"].Value = item["CORR"].ToString();
                //        command.Parameters["@ptype"].Value = "History";
                //        command.Parameters["@pvendor"].Value = "MRO";
                //        command.Parameters["@pdescription"].Value = "This is test";

                //        command.ExecuteNonQuery();
                //    }
                //}

                command.ExecuteNonQuery();

                connection.Close();
            }
            catch (SqlCeException e)
            {
                connection.Close();
                OutputLogViewModel.addResult("DataBase Connection Error : MRO DB Load");
                throw;
            }
        }
コード例 #14
0
        public void addInstDB(string tableName,
                              List <string> fieldName,
                              List <string> fieldValue)
        {
            // error fieldName Count != fieldValue;
            // table의 columnNum 와 filedNameCount 는 같아야함

            int fieldNameNum = fieldName.Count;

            SqlCeConnection connection = new SqlCeConnection(@"Data Source=D:\Project File\OTCDerivativesCalculatorModule\ExcelOTCManagerAddIn\PositionMasterInformationDB.sdf");

            List <string> wrappingFieldValue = new List <string>();

            foreach (var item in fieldValue)
            {
                wrappingFieldValue.Add(QueryStr.wrapComma(item));
            }

            try
            {
                StringBuilder sb = new StringBuilder();

                DataTable tb = new DataTable();

                SqlCeCommand command = connection.CreateCommand();
                connection.Open();

                SqlCeCommand delCommand = connection.CreateCommand();

                sb.Append("INSERT INTO " + tableName + " ( ");

                for (int i = 0; i < fieldNameNum; i++)
                {
                    sb.Append(fieldName[i]);

                    if (i != fieldNameNum - 1)
                    {
                        sb.Append(", ");
                    }
                }

                sb.Append(") ");

                sb.Append("VALUES (");

                for (int i = 0; i < fieldNameNum; i++)
                {
                    sb.Append(wrappingFieldValue[i]);

                    if (i != fieldNameNum - 1)
                    {
                        sb.Append(", ");
                    }
                }

                sb.Append(") ");

                command.CommandText = sb.ToString();

                command.ExecuteNonQuery();

                connection.Close();
            }
            catch (SqlCeException e)
            {
                connection.Close();
                OutputLogViewModel.addResult("DataBase Connection Error : MRO DB Load");
                throw;
            }
        }