예제 #1
0
        public void LoadData(string fromDate, string toDate)
        {
            // create and execute query
            t = new DataTable();
            t.Columns.Add(new DataColumn("Select", typeof(bool)));
            t.Columns.Add("id");
            t.Columns.Add("uri");
            t.Columns.Add(new DataColumn("Img", typeof(Bitmap)));//1
            t.Columns.Add("Name");
            t.Columns.Add("No");
            t.Columns.Add("Date");
            t.Columns.Add("Method");
            t.Columns.Add("Start");
            t.Columns.Add("Ending");
            t.Columns.Add("Days");
            t.Columns.Add("Week");
            t.Columns.Add("Rate");
            t.Columns.Add("Hours");
            t.Columns.Add("Amount");
            t.Columns.Add("Over time Hours");
            t.Columns.Add("Over time Rate");
            t.Columns.Add("Over time Pay");
            t.Columns.Add("Deductions");
            t.Columns.Add("Paid");
            t.Columns.Add(new DataColumn("View", typeof(Image)));
            t.Columns.Add(new DataColumn("Delete", typeof(Image)));
            Bitmap b = new Bitmap(50, 50);

            using (Graphics g = Graphics.FromImage(b))
            {
                g.DrawString("Loading...", this.Font, new SolidBrush(Color.Black), 0f, 0f);
            }
            Image view   = new Bitmap(Properties.Resources.Note_Memo_16);
            Image delete = new Bitmap(Properties.Resources.Server_Delete_16);


            string Q = "SELECT * FROM pay WHERE (`date` >= '" + fromDate + "'  AND  `date` <= '" + toDate + "')";

            foreach (Pay c in Pay.List(Q))
            {
                string daying = "";
                string Qs     = "SELECT starts,period,userID,customerID FROM schedule  WHERE (`date` >= '" + c.Starts + "' AND  `date` <= '" + c.Ends + "')";

                MySqlDataReader Reader1 = MySQL.Reading(Qs);
                OnDays          l       = new OnDays();
                List <OnDays>   oD      = new List <OnDays>();
                while (Reader1.Read())
                {
                    l = new OnDays(Convert.ToDateTime(Reader1["starts"]).ToString("ddd"), Reader1["period"].ToString(), Reader1["userID"].ToString(), Reader1["customerID"].ToString());
                    oD.Add(l);
                }
                DBConnect.CloseMySqlConn();
                int ct = 1;
                foreach (OnDays u in oD.Where(y => y.UserID.Contains(c.UserID)))
                {
                    daying = daying + "\n" + ct++ + "." + u.Day + "\t\t-" + u.Hrs + "Hrs ";
                }
                string user = "";

                string imageUs = "";
                try { user = GenericCollection.users.Where(r => r.Id == c.UserID).First().Name; } catch { }
                try { imageUs = GenericCollection.users.Where(r => r.Id == c.UserID).First().Image; } catch { }

                try
                {
                    t.Rows.Add(new object[] { "false", c.Id, imageUs as string, b, user, c.No, c.Date, c.Method, c.Starts, c.Ends, daying, c.Week, c.Rate, c.Hours, c.Amount.ToString("N0"), c.OvertimeHrs, c.OvertimeRate, c.OvertimePay.ToString("N0"), c.Deductions.ToString("N0"), c.Paid, view, delete });
                }
                catch (Exception m)
                {
                    MessageBox.Show("" + m.Message);
                    Helper.Exceptions(m.Message, "Viewing pay slips { list }" + c.Date);
                }
            }

            dtGrid.DataSource = t;

            ThreadPool.QueueUserWorkItem(delegate
            {
                foreach (DataRow row in t.Rows)
                {
                    try
                    {
                        Image img = Helper.Base64ToImage(row["uri"].ToString().Replace('"', ' ').Trim());
                        System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(img);
                        Bitmap bps     = new Bitmap(bmp, 50, 50);
                        Image dstImage = Helper.CropToCircle(bps, Color.White);
                        row["Img"]     = dstImage;
                    }
                    catch
                    {
                    }
                }
            });

            dtGrid.AllowUserToAddRows = false;
            dtGrid.Columns["Start"].DefaultCellStyle.BackColor  = Color.LightGreen;
            dtGrid.Columns["Ending"].DefaultCellStyle.BackColor = Color.PaleGoldenrod;
            dtGrid.RowTemplate.Height     = 60;
            dtGrid.Columns["uri"].Visible = false;
            dtGrid.Columns["id"].Visible  = false;
            // dtGrid.Columns["select"].Width = 30;
        }