Exemplo n.º 1
0
        public static Dictionary <int, DateTime> Get_DateTime_values(List <int> detailID_list, string colName)
        {
            Dictionary <int, DateTime> dic = new Dictionary <int, DateTime>();

            if (detailID_list == null || detailID_list.Count < 1)
            {
                return(dic);
            }
            if (string.IsNullOrEmpty(colName))
            {
                return(dic);
            }

            List <List <int> > splited_list = new List <List <int> >();//split detailID_list into small lists
            List <int>         tempList     = new List <int>();

            foreach (int ID in detailID_list)
            {
                tempList.Add(ID);
                if (tempList.Count >= 100)
                {
                    splited_list.Add(tempList);
                    tempList = new List <int>();
                }
            }
            if (tempList.Count > 0)
            {
                splited_list.Add(tempList);
            }

            CmdTemplate cmdTp = new CmdTemplate();//create template for DB

            cmdTp.tableName = DividendDetail_master.Detail_tableName;
            cmdTp.AddColumn(DividendDetail_master.Detail_PK_colName);
            cmdTp.AddColumn(colName);

            DB_select selt = new DB_select(cmdTp);

            foreach (List <int> list in splited_list)
            {
                SQL_relation rela = new SQL_relation(DividendDetail_master.Detail_PK_colName, true, list);
                selt.SetCondition(rela);

                DB_reader reader = new DB_reader(selt, Utility.Get_DRWIN_hDB());
                while (reader.Read())
                {
                    int      detailID = reader.GetInt(DividendDetail_master.Detail_PK_colName);
                    DateTime dt       = reader.GetDateTime(colName);
                    dic[detailID] = dt;
                }
                reader.Close();
            }

            return(dic);
        }
Exemplo n.º 2
0
        private HashSet <int> Get_currFX_ID_set(string taskName)
        {
            HashSet <int> hs = new HashSet <int>();

            CmdTemplate tp = new CmdTemplate();

            tp.schema    = "Task";
            tp.tableName = "Task_Detail";
            tp.AddColumn("SourceID");

            DB_select     selt = new DB_select(tp);
            SQL_relation  rel0 = new SQL_relation("TaskID", RelationalOperator.Equals, Task20_master.TaskID_20);
            SQL_relation  rel1 = new SQL_relation("TaskName", RelationalOperator.Equals, taskName);
            SQL_condition cond0 = new SQL_condition(rel0), cond1 = new SQL_condition(rel1);
            SQL_condition cond = new SQL_condition(cond0, ConditionalOperator.And, cond1);

            selt.SetCondition(cond);

            DB_reader reader = new DB_reader(selt, Utility.Get_DRWIN_hDB());

            while (reader.Read())
            {
                int    tempInt = -1;
                string tempStr = reader.GetString("SourceID");
                if (int.TryParse(tempStr, out tempInt))
                {
                    hs.Add(tempInt);
                }
            }
            reader.Close();

            return(hs);
        }
Exemplo n.º 3
0
        public static int UpdateDetail_singleValue(int detailID, string colName, DateTime dt)
        {
            if (string.IsNullOrEmpty(colName))
            {
                return(-5);
            }
            if (dt < Utility.MinDate)
            {
                return(-6);
            }

            CmdTemplate cmdTp = new CmdTemplate();//create template for DB

            cmdTp.tableName = DividendDetail_master.Detail_tableName;
            cmdTp.AddColumn(DividendDetail_master.Detail_PK_colName);
            cmdTp.AddColumn(colName);

            DB_update upd = new DB_update(cmdTp);

            upd.AddValue(colName, dt);
            SQL_relation rela = new SQL_relation(DividendDetail_master.Detail_PK_colName, RelationalOperator.Equals, detailID);

            upd.SetCondition(rela);

            if (colName.Contains(" ") || colName.Contains("-"))
            {
                Helper_SQLserver.SetTriger(DividendDetail_master.Detail_tableName, "TR_Dividend_Detail_Audit_History", false, Utility.Get_DRWIN_hDB());
                int count = upd.SaveToDB(Utility.Get_DRWIN_hDB());
                Helper_SQLserver.SetTriger(DividendDetail_master.Detail_tableName, "TR_Dividend_Detail_Audit_History", true, Utility.Get_DRWIN_hDB());

                return(count);
            }
            else
            {
                int count = upd.SaveToDB(Utility.Get_DRWIN_hDB());
                return(count);
            }
        }
Exemplo n.º 4
0
        public static bool Check_ID_exist(string id, string tableName, string columnName, string schema = "dbo")
        {
            CmdTemplate tp = new CmdTemplate();

            tp.schema    = schema;
            tp.tableName = tableName;
            tp.AddColumn(columnName);
            DB_select selt = new DB_select(tp);

            SQL_relation rela = new SQL_relation(columnName, RelationalOperator.Equals, id);

            selt.SetCondition(rela);

            DB_reader reader = new DB_reader(selt, Utility.Get_DRWIN_hDB());
            bool      flag   = reader.Read();

            reader.Close();

            return(flag);
        }
Exemplo n.º 5
0
        public static Dividend GetDividend_XBRL_refNum(string XBRL_ReferenceNumber, DividendTable_option table = DividendTable_option.Dividend_Control_Approved)
        {
            if (string.IsNullOrEmpty(XBRL_ReferenceNumber))
            {
                return(null);
            }

            CmdTemplate tp = new CmdTemplate();

            tp.tableName = "Dividend_XBRL";
            tp.AddColumn("DividendIndex");

            DB_select    selt = new DB_select(tp);
            SQL_relation rela = new SQL_relation("XBRL_ReferenceNumber", RelationalOperator.Equals, XBRL_ReferenceNumber);

            selt.SetCondition(rela);

            DB_reader reader = new DB_reader(selt, Utility.Get_DRWIN_hDB());

            int dividendIndex = -1;

            if (reader.Read())
            {
                dividendIndex = reader.GetInt("DividendIndex");
            }
            reader.Close();

            if (dividendIndex < 0)
            {
                return(null);
            }

            Dividend dvd = new Dividend(dividendIndex);

            dvd.Init_from_DB(table);

            return(dvd);
        }