zoukankan      html  css  js  c++  java
  • 员工打卡课后小项目

      public class Fm
        {
           //员工类
            public string Id { get; set; }
            public string Name { get; set; }
            public int Age { get; set; }
            public string Gender { get; set; }
        }
     public class SI
        {
            //打卡类
            public string Name { get; set; }
            public DateTime Begin { get; set; }
            public DateTime End { get; set; }
        }

     
    public partial class Yg : Form
        {
            public Yg()
            {
                InitializeComponent();
            }
            public static Qd qd;
            //初始化员工信息
            public static List<Fm> fm = new List<Fm>
            {
                new Fm{Id="20090101", Name="王小毛",Age=19,Gender=""},
                new Fm{Id="20090102", Name="周新宇",Age=19,Gender=""}
            };
            //保存打卡记录的集合
            public static List<SI> si = new List<SI>();
            private void Form1_Load(object sender, EventArgs e)
            {
                //绑定dgvlist
                dgv1.DataSource = fm;
            }
    
            public void info()
            {
                //更新dgvlist的数据源
                dgv1.DataSource = new BindingList<Fm>(fm);
            }
    
            private void toolStripButton1_Click(object sender, EventArgs e)
            {
                //打开新增员工的窗体)
                Wh frm = new Wh();
                frm.ygxx = this;
                frm.Show();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //模糊查询的方法
                List<Fm> fm=new List<Fm>();
                foreach (Fm item in Yg.fm)
                {
                    if (item.Id.IndexOf(txt1.Text.Trim()) >= 0)
                    {
                        fm.Add(item);
                        
                    }
                    
                }
                dgv1.DataSource = new BindingList<Fm>(fm);
            }
    
            private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
            {
    
            }
    
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                //删除的方法
                if (dgv1.SelectedRows.Count > 0)
                {
                    DialogResult dr = MessageBox.Show("确认要删除" + dgv1.SelectedRows[0].Cells[1].Value + "", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
                    if (dr == DialogResult.Yes)
                    {
                        for (int i = 0; i < fm.Count; i++)
                        {
                            if (dgv1.SelectedRows[0].Cells[0].Value.ToString() == fm[i].Id)
                            {
                                fm.RemoveAt(i);
                                dgv1.DataSource = new BindingList<Fm>(fm);
                            }
    
                        }
                    }
                }
            }
    
            private void 签到ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //签到
                if (dgv1.SelectedRows.Count > 0)
                {
                    int s = 0;
                    foreach (SI item in si)
                    {
                        if (item.Name == dgv1.SelectedRows[0].Cells[1].Value.ToString())
                        {
                            s++;
                        }
                    }
                    if (s == 0)
                    {
                        SI sione = new SI();
                        sione.Name = dgv1.SelectedRows[0].Cells[1].Value.ToString();
                        sione.Begin = DateTime.Now;
                        si.Add(sione);
                        if (qd != null)
                        {
                            Qd.cishu = si.Count;
                            qd.info();
                        }
                    }
                    else
                    {
                        MessageBox.Show("您已经签到过了", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    
                }
              
            }
    
            private void 签退ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //签退
                if (dgv1.SelectedRows.Count > 0)
                {
                    SI s = null;
                    int count = 0;
                    foreach (SI item in si)
                    {
                        if (item.Name == dgv1.SelectedRows[0].Cells[1].Value.ToString() && item.End == Convert.ToDateTime("0001-1-1"))
                        {
                            s = item;
                        }
                        if (item.Name == dgv1.SelectedRows[0].Cells[1].Value.ToString())
                        {
                            count++;
                        }
                    }
                    if (s !=null)
                    {
                        for (int i = 0; i < si.Count; i++)
                        {
                            if (si[i] == s)
                            {
                                si[i].End = DateTime.Now;
                                if (qd != null)
                                {
                                    Qd.cishu = si.Count;
                                    qd.info();
                                }
                            }
                        }
                    }
                    else if (count <= 0&&s==null)
                    {
                        MessageBox.Show("您还未签到", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        MessageBox.Show("您已经签退过了", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                   
                }
            }
    
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                //打开打卡记录
                Qd from = new Qd();
                Qd.cishu = si.Count;
                from.Show();
    
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                //打开修改员工记录的窗体
                Wh from = new Wh();
                from.Text = "修改员工信息";
                from.ygxx = this;
                from.sid = dgv1.SelectedRows[0].Cells[0].Value.ToString();
                from.Show();
            }
        }

     private void button1_Click(object sender, EventArgs e)
            {
                //进入新增员工的方法
                if (this.Text == "员工信息维护")
                {
                    int error = 0;
                    //查看有没有该员工id
                    foreach (Fm item in Yg.fm)
                    {
                        if (txt1.Text == item.Id)
                        {
                            error++;
                        }
                    }
                    if (txt1.Text != null && txt2.Text != null && txt3.Text != null && cnb1.Text != null && error == 0)
                    {
    
                        Fm fm = new Fm();
                        fm.Id = txt1.Text;
                        fm.Name = txt2.Text;
                        fm.Age = Convert.ToInt32(txt3.Text);
                        fm.Gender = cnb1.Text;
                        Yg.fm.Add(fm);
                        ygxx.info();
                        MessageBox.Show("添加成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else if (error != 0)
                    {
                        MessageBox.Show("员工号已存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        MessageBox.Show("请完善员工信息", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                }
                    //进入修改方法
                else
                {
    
                    for (int i = 0; i < Yg.fm.Count; i++)
                    {
                        if (Yg.fm[i].Id == sid)
                        {
                            Yg.fm[i].Id = txt1.Text;
                            Yg.fm[i].Name = txt2.Text;
                            Yg.fm[i].Age = Convert.ToInt32(txt3.Text);
                            Yg.fm[i].Gender = cnb1.Text;
                            ygxx.info();
                            MessageBox.Show("修改成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        }
                    }
                }
            }
    
            private void groupBox1_Enter(object sender, EventArgs e)
            {
    
            }
            //进入修改方法时传入要修改的员工信息
            private void Wh_Load(object sender, EventArgs e)
            {
                foreach (Fm item in Yg.fm)
                {
                    if (item.Id == sid)
                    {
                        txt1.Text = item.Id;
                        txt2.Text = item.Name;
                        txt3.Text = item.Age.ToString();
                        cnb1.Text = item.Gender;
                    }
                    
                }
            }
        }

        public partial class Qd : Form
        {
            public Qd()
            {
                InitializeComponent();
            }
            public static int cishu;
            private void qd_Load(object sender, EventArgs e)
            {
                Yg.qd = this;
                
                info();
                
            }
            //显示共有多少条记录
            public void info()
            {
                BindingSource bs = new BindingSource();
                bs.DataSource = Yg.si;
                dataGridView1.DataSource = bs;
                this.label1.Text = "共有" + cishu + "条记录";
            }
    
            private void label1_Click(object sender, EventArgs e)
            {
    
            }
        }
  • 相关阅读:
    JavaScript中get和set访问器的实现
    Vue render 函数和JSX语法的使用
    vue项目将第三方包以cdn的方式引入页面不显示
    今天帮忙HMF这位ui大神(傻)解决的小问题。
    SET
    webpack 折腾
    sass折腾
    gulp折腾
    css3
    js递归函数
  • 原文地址:https://www.cnblogs.com/www-datou-com/p/5811650.html
Copyright © 2011-2022 走看看