Exemplo n.º 1
0
    public WorkInfoData[] Select(string PostId)
    {
        //int iRel = -1;
        CommonDB objDB = new CommonDB();

        WorkInfoData[] dataWorkInfo = new WorkInfoData[1];
        string         sql          = "select * from WorkInfo where PostId= " + PostId + " ";

        try
        {
            objDB.OpenConnection();
            DataSet ds = objDB.QueryData(sql, "departmentinfo");
            if (ds.Tables.Count > 0)
            {
                long nRow = ds.Tables[0].Rows.Count;
                if (nRow > 0)
                {
                    dataWorkInfo = new WorkInfoData[nRow];
                    for (int i = 0; i < nRow; i++)
                    {
                        dataWorkInfo[i]                 = new WorkInfoData();
                        dataWorkInfo[i].Post            = ds.Tables[0].Rows[i]["Post"].ToString();
                        dataWorkInfo[i].WorkPlace       = ds.Tables[0].Rows[i]["WorkPlace"].ToString();
                        dataWorkInfo[i].HourlyWage      = ds.Tables[0].Rows[i]["HourlyWage"].ToString();
                        dataWorkInfo[i].GenderReq       = ds.Tables[0].Rows[i]["GenderReq"].ToString();
                        dataWorkInfo[i].BelongUnit      = ds.Tables[0].Rows[i]["BelongUnit"].ToString();
                        dataWorkInfo[i].GradeReq        = ds.Tables[0].Rows[i]["GradeReq"].ToString();
                        dataWorkInfo[i].LossForAbsence  = ds.Tables[0].Rows[i]["LossForAbsence"].ToString();
                        dataWorkInfo[i].JobDescription  = ds.Tables[0].Rows[i]["JobDescription"].ToString();
                        dataWorkInfo[i].ApplyTimeBe     = ds.Tables[0].Rows[i]["ApplyTimeBe"].ToString();
                        dataWorkInfo[i].ApplyTimeFi     = ds.Tables[0].Rows[i]["ApplyTimeFi"].ToString();
                        dataWorkInfo[i].PeoNumberDemand = ds.Tables[0].Rows[i]["PeoNumberDemand"].ToString();
                    }
                }
            }
        }
        catch (Exception ex)
        {
            //iRel = -1;
        }
        objDB.CloseConnection();
        objDB.Dispose();
        objDB = null;
        return(dataWorkInfo);
    }
Exemplo n.º 2
0
    public bool Insert(WorkInfoData dataWorkInfo)
    {
        int      iRel  = -1;
        bool     bRel  = false;
        CommonDB objDB = new CommonDB();

        try
        {
            objDB.OpenConnection();
            string strSql = " insert into WorkInfo (PostId,Post,WorkPlace,HourlyWage,GenderReq,BelongUnit,GradeReq,LossForAbsence,JobDescription,ApplyTimeBe,ApplyTimeFi,PeoNumberDemand)  values (@PostId,@Post,@WorkPlace,@HourlyWage,@GenderReq,@BelongUnit,@GradeReq,@LossForAbsence,@JobDescription,@ApplyTimeBe,@ApplyTimeFi,@PeoNumberDemand) ";
            objDB.Command.CommandType = System.Data.CommandType.Text;
            objDB.Command.CommandText = strSql;
            objDB.Command.Parameters.AddWithValue("@PostId", dataWorkInfo.Post);
            objDB.Command.Parameters.AddWithValue("@Post", dataWorkInfo.Post);
            objDB.Command.Parameters.AddWithValue("@WorkPlace", dataWorkInfo.WorkPlace);
            objDB.Command.Parameters.AddWithValue("@HourlyWage", dataWorkInfo.HourlyWage);
            objDB.Command.Parameters.AddWithValue("@GenderReq", dataWorkInfo.GenderReq);
            objDB.Command.Parameters.AddWithValue("@BelongUnit", dataWorkInfo.BelongUnit);
            objDB.Command.Parameters.AddWithValue("@GradeReq", dataWorkInfo.GradeReq);
            objDB.Command.Parameters.AddWithValue("@LossForAbsence", dataWorkInfo.LossForAbsence);
            objDB.Command.Parameters.AddWithValue("@JobDescription", dataWorkInfo.JobDescription);
            objDB.Command.Parameters.AddWithValue("@ApplyTimeBe", dataWorkInfo.ApplyTimeBe);
            objDB.Command.Parameters.AddWithValue("@ApplyTimeFi", dataWorkInfo.ApplyTimeFi);
            objDB.Command.Parameters.AddWithValue("@PeoNumberDemand", dataWorkInfo.PeoNumberDemand);
            iRel = objDB.Command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            //iRel = -1;
            throw new Exception(ex.ToString());
        }
        objDB.CloseConnection();
        objDB.Dispose();
        objDB = null;
        bRel  = (iRel.Equals(1) ? true : false);
        return(bRel);
    }
        /// <summary>
        /// 1000 [ms]毎に情報取得
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tick(object sender, EventArgs e)
        {
            Console.WriteLine("ticked.");

            // アクティブウィンドウ(フォアグラウンド)のハンドル取得
            IntPtr hWnd = GetForegroundWindow();

            // プロセスID取得
            int id;

            GetWindowThreadProcessId(hWnd, out id);

            // プロセス情報取得
            Process p = Process.GetProcessById(id);

            if (p == null)
            {
                return;
            }

            StringBuilder sb = new StringBuilder(65535);    //256とかでええんか?に特に意味はない

            GetWindowText(GetForegroundWindow(), sb, 65535);

            WorkInfoKey key = new WorkInfoKey(p.ProcessName, sb.ToString());


            // まずはすでに存在するデータかどうか検索
            WorkInfoData foundData = null;

            foreach (var data in this.blist)
            {
                if (key.Equals(data.key))
                {
                    foundData = data;
                    break;
                }
            }

            if (foundData != null)
            {
                // すでにあるのでデータ更新のみ
                foundData.incTestCounter();
            }
            else
            {
                // 新規データ
                var value = new WorkInfoData(key);
                this.blist.Add(value);

                value.incTestCounter();
            }


            // 以下でもいいが、ポーリングしたくないのでDataにINotifyPropertyChangedを実装する方式にする
            // this.dataGridView1.Refresh();


// ここで、改めてソートした方がいいかも?
// TODO:以下のやり方でいいのかよくわからない。。。

#if false
            // ソート状態を調べる
            DataGridViewColumn sortOrderColumn = null;
            SortOrder          sortOrder       = SortOrder.None;

            foreach (DataGridViewColumn column in this.dataGridView1.Columns)
            {
                if (column.HeaderCell.SortGlyphDirection != SortOrder.None)
                {
                    sortOrderColumn = column;
                    sortOrder       = column.HeaderCell.SortGlyphDirection;

                    break;      // とりあえず、単一ソートのみと仮定
                }
            }

            if (sortOrderColumn != null)
            {
                // ソートされている列があるので、並び替えを行う
                this.dataGridView1.Sort(sortOrderColumn, (sortOrder == SortOrder.Ascending) ? ListSortDirection.Ascending : ListSortDirection.Descending);
            }
#endif
        }