示例#1
0
 private void btn_Del_Click(object sender, EventArgs e)
 {
     if (listView_User.SelectedItems.Count > 0)
     {
         string DelUserName = listView_User.SelectedItems[0].SubItems[0].Text;
         if (DelUserName != Global.PresentUser)
         {
             if (MessageBox.Show("您确定要删除 " + DelUserName + " 这个用户吗?", "删除用户", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 DataRow[] rows = DB_Service.MainDataSet.Tables["UserTable"].Select("UserName = '******'");
                 if (rows.Length > 0)
                 {
                     rows[0].Delete();
                     if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["UserTable"]) == 0)
                     {
                         MessageBox.Show("删除失败!", "删除用户", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
                 else
                 {
                     MessageBox.Show("您欲删除的用户不存在。", "删除用户", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
         }
         else
         {
             MessageBox.Show("对不起,您不能删除当前登录用户。您可以登录其他有用户管理权限的账户来进行删除。", "用户管理");
         }
         listView_User.Items.Remove(listView_User.SelectedItems[0]);
     }
     else
     {
         MessageBox.Show("请先选择一个您欲删除的用户。", "用户管理");
     }
 }
示例#2
0
 private void btn_DelClass_Click(object sender, EventArgs e)
 {
     if (DataGridViewClass.SelectedRows.Count > 0)
     {
         string DelClass = DataGridViewClass.SelectedRows[0].Cells["ClassName"].Value.ToString();
         if (MessageBox.Show("您确定要删除:" + DelClass + " 这个班次吗?", "班次管理", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             DataRow[] rows = DB_Service.MainDataSet.Tables["ClassTable"].Select("ClassName = '" + DelClass + "'");
             if (rows.Length > 0)
             {
                 rows[0].Delete();
                 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["ClassTable"]) == 0)
                 {
                     MessageBox.Show("删除失败!", "班次管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
             else
             {
                 MessageBox.Show("您欲删除的班次不存在。", "班次管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
     }
     else
     {
         MessageBox.Show("请选择一个您欲删除的班次。", "班次管理");
     }
 }
示例#3
0
 private void btn_MapDel_Click(object sender, EventArgs e)
 {
     if (listView_Layr.SelectedItems.Count > 0)
     {
         if (MessageBox.Show("您确定要删除 " + listView_Layr.SelectedItems[0].SubItems[1].Text + " 这个图层吗?", "删除地图图层", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             DataRow[] rows = DB_Service.MainDataSet.Tables["LayerTable"].Select("TableOrShapeFile = '" + listView_Layr.SelectedItems[0].SubItems[2].Text + "'");
             if (rows.Length > 0)
             {
                 rows[0].Delete();
                 MapLayerRow = null;
                 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["LayerTable"]) > 0)
                 {
                     //刷新所有地图的显示
                     RefreshMapSet();
                 }
                 else
                 {
                     MessageBox.Show("删除失败!", "地图图层管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
             else
             {
                 MessageBox.Show("您欲删除的图层不存在。", "地图图层管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
     }
     else
     {
         MessageBox.Show("请先选择一个欲删除的图层。", "删除地图图层", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
示例#4
0
        private void btn_AddMapArea_Click(object sender, EventArgs e)
        {
            string NewMapAreaName = text_MapAreaName.Text.Trim();

            if (NewMapAreaName != "")
            {
                DataTable tempMapAreaTable = DB_Service.GetTable("TempMapAreaTable", "select * from MapAreaTable");

                if (DB_Service.MainDataSet.Tables["MapAreaTable"].Select("MapAreaName = '" + NewMapAreaName + "'").Length > 0)
                {
                    MessageBox.Show("对不起,这个区域名称已经使用过,请换一个名称后再添加。", "添加区域", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    DataRow newRow = DB_Service.MainDataSet.Tables["MapAreaTable"].NewRow();
                    newRow["MapAreaName"] = NewMapAreaName;
                    DB_Service.MainDataSet.Tables["MapAreaTable"].Rows.Add(newRow);
                    if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["MapAreaTable"]) > 0)
                    {
                        //刷新区域
                        RefreshMapArea();
                    }
                    else
                    {
                        MessageBox.Show("添加失败!请检查数据库连接。", "添加区域", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }
示例#5
0
        //private async Task<List<User>> GetUsersAsync()
        //{
        //    var dbService = new DB_Service<User>();
        //    var UserList = await dbService.GetAllUsersAsync();

        //    return UserList;
        //}
        protected async Task <string> AddMessageAsync(string toID, string fromID, string msg)
        {
            var dbService = new DB_Service <User>();
            var UserList  = await dbService.AddMessageTask(toID, fromID, msg);

            return(UserList);
        }
示例#6
0
        private void btn_Play_Click(object sender, EventArgs e)
        {
            if (listView_InMine.SelectedItems.Count < 1)
            {
                MessageBox.Show("请先在上面的列表中选中一个欲查询的员工", "历史轨迹", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            try
            {
                //停止并清空绘画
                IsReDraw                     = false;
                timer1.Enabled               = false;
                seekDrawTable                = 0;
                HistoryDrawLinesTable        = DataTableFactory_Service.MakeHistoryDrawLinesTable("HistoryDrawLinesTable");
                this.DataGridView.DataSource = null;
                int    Result_CardID = Convert.ToInt32(listView_InMine.SelectedItems[0].SubItems[1].Text);
                string Result_Name   = listView_InMine.SelectedItems[0].SubItems[2].Text;
                string strSQL        = "select * from HistoryPositionTable where CardID = " + Result_CardID + " and Time >= '" + this.StartTime + "' and Time <= '" + this.EndTime + "' order by Time ASC";

                IsReDraw = false;

                using (DataTable tempTable = DB_Service.GetTable("tempTable", strSQL))
                {
                    if (tempTable.Rows.Count > 0)
                    {
                        for (int i = 0; i < tempTable.Rows.Count; i++)
                        {
                            //创建新的一行
                            DataRow newRow = HistoryDrawLinesTable.NewRow();
                            //赋值
                            newRow["CardID"]        = Result_CardID;
                            newRow["Name"]          = Result_Name;
                            newRow["Time"]          = tempTable.Rows[i]["Time"];
                            newRow["NearStationID"] = tempTable.Rows[i]["MaxStationID"];
                            newRow["Geo_X"]         = tempTable.Rows[i]["Geo_X"];
                            newRow["Geo_Y"]         = tempTable.Rows[i]["Geo_Y"];
                            //将新行添加到PositionTable
                            HistoryDrawLinesTable.Rows.Add(newRow);
                        }
                        this.DataGridView.DataSource = this.HistoryDrawLinesTable;
                        //初始化详细定位表的表头
                        InitHistoryList();
                        //启动绘制计时器
                        IsReDraw       = true;
                        timer1.Enabled = true;
                    }
                    else
                    {
                        MessageBox.Show("此员工没有这个时间的活动轨迹。", "轨迹查询", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "历史轨迹", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
示例#7
0
 public void Delete(List <T> entitys)
 {
     dbWrite = DBContextFactory.GetService();
     foreach (var t in entitys)
     {
         dbWrite.Set <T>().Attach(t);
         dbWrite.Set <T>().Remove(t);
     }
 }
示例#8
0
        private void btn_SaveMap_Click(object sender, EventArgs e)
        {
            try
            {
                //保存地图全局参数
                Global.MapName        = textBox_MapName.Text;
                Global.MapComment     = textBox_MapComment.Text;
                Global.MapDistanceKey = Convert.ToDouble(textBox_MapDistanceKey.Text);
                //以上仅仅是更新MapTable表,下面真正更新数据库
                DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["MapTable"]);
                //保存图层分类依据
                if (listView_LayerSort.Items.Count > 0)
                {
                    if (listView_LayerSort.Items.Count <= 17)
                    {
                        string SortKey;
                        switch (com_LayerSort.SelectedIndex)
                        {
                        case 0:
                            SortKey = "WorkType";
                            break;

                        case 1:
                            SortKey = "Department";
                            break;

                        default:
                            SortKey = "CardType";
                            break;
                        }
                        DB_Service.ExecuteSQL("delete from LayerSortTable where TableOrShapeFile = 'PositionTable'", "LayerSortTable");
                        List <string> TempSQL = new List <string>();
                        for (int i = 0; i < listView_LayerSort.Items.Count; i++)
                        {
                            TempSQL.Add("insert into LayerSortTable (TableOrShapeFile,ColumnName,MaybeValue,Text,ViewOrder,PicID,PointImage) values ('PositionTable','" + SortKey + "','" + listView_LayerSort.Items[i].SubItems[0].Text + "','" + listView_LayerSort.Items[i].SubItems[1].Text + "'," + i.ToString() + ",'Person_" + Convert.ToString(i + 1) + "','Person_" + Convert.ToString(i + 1) + "')");
                        }
                        DB_Service.ExecuteSQLs(TempSQL, new string[1] {
                            "LayerSortTable"
                        });
                        MessageBox.Show("设置成功!重启软件后生效。", "设置人员车辆图层", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("对不起,分类图层数超出系统最大限制:17。");
                    }
                }
                else
                {
                    MessageBox.Show("对不起,按这个分类不会产生任何图层");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\n" + ex.TargetSite + "\n" + ex.StackTrace, "保存地图参数异常");
            }
        }
示例#9
0
        private void btn_SaveWorkType_Click(object sender, EventArgs e)
        {
            if (tex_WorkTypeName.Text.Trim() == "" || tex_WorkTypeNeedWorkHour.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的职务信息后再进行保存。\n至少包含:职务名称和每天最少工作小时数", "职务设置", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                //如果是新建职务方案,则判断职务名称的唯一性并初始化WorkTypeRow
                if (WorkTypeRow == null)
                {
                    if (DB_Service.MainDataSet.Tables["WorkTypeTable"].Select("WorkTypeName = '" + tex_WorkTypeName.Text.Trim() + "'").Length > 0)
                    {
                        MessageBox.Show("对不起,您所输入的这个职务名称已经存在,请重新输入一个未被占用的职务名称。", "新增职务", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        tex_WorkTypeName.Text = "";
                        return;
                    }
                    else
                    {
                        //初始化WorkTypeRow
                        WorkTypeRow = DB_Service.MainDataSet.Tables["WorkTypeTable"].NewRow();
                        DB_Service.MainDataSet.Tables["WorkTypeTable"].Rows.Add(WorkTypeRow);
                    }
                }

                //修改WorkTypeRow的值
                WorkTypeRow["WorkTypeName"] = tex_WorkTypeName.Text.Trim();
                WorkTypeRow["WPName"]       = com_WorkTypeWPName.Text.Trim();
                WorkTypeRow["NeedWorkHour"] = tex_WorkTypeNeedWorkHour.Text.Trim();
                if (radio_WorkTypeLead1.Checked)
                {
                    WorkTypeRow["IsLead"] = true;
                }
                else
                {
                    WorkTypeRow["IsLead"] = false;
                }
                if (radio_WorkTypeSpecal1.Checked)
                {
                    WorkTypeRow["IsSpecal"] = true;
                }
                else
                {
                    WorkTypeRow["IsSpecal"] = false;
                }

                panel_WorkType.Enabled = false;

                //将WPRow中的更新提交至数据库
                if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WorkTypeTable"]) == 0)
                {
                    MessageBox.Show("保存职务信息失败!\n请确保数据库连接正确。", "职务管理");
                }
            }
        }
示例#10
0
        public void Delete(Expression <Func <T, bool> > whereLambda)
        {
            dbWrite = DBContextFactory.GetService();
            var entitys = dbWrite.Set <T>().Where(whereLambda).ToList();

            foreach (var t in entitys)
            {
                dbWrite.Set <T>().Attach(t);
                dbWrite.Set <T>().Remove(t);
            }
        }
示例#11
0
        public static DB_Service GetService()
        {
            string     contextName = "DB_Service";
            DB_Service dbContext   = CallContext.GetData(contextName) as DB_Service;

            if (dbContext == null)
            {
                dbContext = new DB_Service();
            }
            return(dbContext);
        }
示例#12
0
        private void RefreshInMineListView(string Str_Department)
        {
            text_DutyInfo.Text = "";
            text_History.Text  = "";
            listView_InMine.Items.Clear();
            string date = dateTimePicker1.Value.Date.Year.ToString() + "-" + dateTimePicker1.Value.Date.Month.ToString() + "-" + dateTimePicker1.Value.Date.Day.ToString();

            this.StartTime = Convert.ToDateTime(date + " " + com_StartHour.SelectedIndex.ToString() + ":" + com_StartMinute.SelectedIndex.ToString() + ":00");
            this.EndTime   = Convert.ToDateTime(date + " " + com_EndHour.SelectedIndex.ToString() + ":" + com_EndMinute.SelectedIndex.ToString() + ":59");
            //判断是否是跨天统计,如果是,则将结束时间自动加一天
            if (this.EndTime < this.StartTime)
            {
                this.EndTime = this.EndTime.AddDays(1);
            }
            using (DataTable temp_HistoryTable = DB_Service.GetTable("temp_HistoryTable", "select DISTINCT CardID from HistoryPositionTable where Time >= '" + StartTime + "' and Time <= '" + EndTime + "'"))
            {
                using (DataTable temp_DutyTable = DB_Service.GetTable("temp_DutyTable", "select * from DutyTable where InTime >='" + StartTime.AddHours(-8).ToString() + "' and InTime <='" + EndTime.ToString() + "'"))
                {
                    int TotalPeopleNum = 0;
                    foreach (DataRow row in temp_HistoryTable.Rows)
                    {
                        try
                        {
                            int       CardID       = Convert.ToInt32(row["CardID"]);
                            DataRow[] row_CardDuty = temp_DutyTable.Select("CardID = " + CardID);
                            if (row_CardDuty.Length > 0)
                            {
                                if (row_CardDuty[0]["InTime"] != DBNull.Value)
                                {
                                    TotalPeopleNum++;
                                    string  PID       = DB_Service.MainDataSet.Tables["CardTable"].Select("CardID = " + CardID)[0]["PID"].ToString();
                                    DataRow PersonRow = DB_Service.MainDataSet.Tables["PersonTable"].Select("PID = '" + PID + "'")[0];
                                    if (Str_Department == "所有部门" || Str_Department == PersonRow["Department"].ToString())
                                    {
                                        string Name       = PersonRow["Name"].ToString();
                                        string WorkType   = PersonRow["WorkType"].ToString();
                                        string Department = PersonRow["Department"].ToString();
                                        listView_InMine.Items.Add(new ListViewItem(new string[5] {
                                            PID, CardID.ToString(), Name, WorkType, Department
                                        }));
                                    }
                                }
                            }
                        }
                        catch
                        { }
                    }
                    TimeSpan span = EndTime.Subtract(StartTime);
                    label_InMine.Text = "在" + this.StartTime.ToString() + "至" + this.EndTime.ToString() + "共" + Convert.ToInt32(span.TotalMinutes).ToString() + "分钟的时间内,共有" + TotalPeopleNum.ToString() + "人在洞内停留过。";
                }
            }
        }
示例#13
0
        private void btn_SaveWP_Click(object sender, EventArgs e)
        {
            if (tex_WPName.Text.Trim() == "" || tex_WPTimeMinute.Text.Trim() == "" || tex_WPPoint.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的工分信息后再进行保存。\n至少包含:方案名、工作时间、工分", "工分设置", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                //如果是新建工分方案,则判断工分名称的唯一性并初始化WPRow
                if (WPRow == null)
                {
                    if (DB_Service.MainDataSet.Tables["WPTable"].Select("WPName = '" + tex_WPName.Text.Trim() + "'").Length > 0)
                    {
                        MessageBox.Show("对不起,您所输入的这个工分名称已经存在,请重新输入一个未被占用的工分名称。", "新增工分方案", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        tex_WPName.Text = "";
                        return;
                    }
                    else
                    {
                        //初始化WPRow
                        WPRow = DB_Service.MainDataSet.Tables["WPTable"].NewRow();
                        DB_Service.MainDataSet.Tables["WPTable"].Rows.Add(WPRow);
                    }
                }

                try
                {
                    //修改WPRow的值
                    WPRow["WPName"]       = tex_WPName.Text.Trim();
                    WPRow["WPTimeMinute"] = Convert.ToInt32(tex_WPTimeMinute.Text.Trim());
                    WPRow["Point"]        = Convert.ToInt32(tex_WPPoint.Text.Trim());
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "工分管理", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                panel_WP.Enabled = false;

                //将WPRow中的更新提交至数据库
                if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WPTable"]) > 0)
                {
                    //刷新职务显示中的工分方案列表
                    RefreshWPSelectCombox();
                }
                else
                {
                    MessageBox.Show("保存工分方案信息失败!\n请确保数据库连接正确。", "工分管理");
                }
            }
        }
        public FrmCreateTestData()
        {
            InitializeComponent();

            CollectStationTable = DB_Service.GetTable("CollectStationTable", "select * from StationTable where StationFunction = '信息采集'");

            for (int i = 0; i < CollectStationTable.Rows.Count; i++)
            {
                com_CollectStationID.Items.Add(CollectStationTable.Rows[i]["ID"]);
            }

            com_CollectLoopTime.SelectedIndex = 0;
        }
示例#15
0
        private void btn_SaveDepartment_Click(object sender, EventArgs e)
        {
            if (tex_DepartmentName.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的部门信息后再进行保存。\n至少包含:部门名称", "部门设置", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                //如果是新建部门方案,则判断部门名称的唯一性并初始化DepartmentRow
                if (DepartmentRow == null)
                {
                    if (DB_Service.MainDataSet.Tables["DepartmentTable"].Select("DepartmentName = '" + tex_DepartmentName.Text.Trim() + "'").Length > 0)
                    {
                        MessageBox.Show("对不起,您所输入的这个部门名称已经存在,请重新输入一个未被占用的部门名称。", "新增部门", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        tex_DepartmentName.Text = "";
                        return;
                    }
                    else
                    {
                        //初始化DepartmentRow
                        DepartmentRow = DB_Service.MainDataSet.Tables["DepartmentTable"].NewRow();
                        DB_Service.MainDataSet.Tables["DepartmentTable"].Rows.Add(DepartmentRow);
                    }
                }

                try
                {
                    //修改DepartmentRow的值
                    DepartmentRow["DepartmentName"] = tex_DepartmentName.Text.Trim();
                    if (tex_DepartmentChief.Text.Trim() != "")
                    {
                        DepartmentRow["ChiefPID"] = tex_DepartmentChief.Text.Trim();
                    }
                    DepartmentRow["Address"] = tex_DepartmentAddress.Text.Trim();
                    DepartmentRow["Tel"]     = tex_DepartmentTel.Text.Trim();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "部门管理", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                panel_Department.Enabled = false;

                //将WPRow中的更新提交至数据库
                if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["DepartmentTable"]) == 0)
                {
                    MessageBox.Show("保存部门信息失败!\n请确保数据库连接正确。", "部门管理");
                }
            }
        }
示例#16
0
 private void listView_InMine_Click(object sender, EventArgs e)
 {
     if (listView_InMine.SelectedItems.Count > 0)
     {
         int    CardID = Convert.ToInt32(listView_InMine.SelectedItems[0].SubItems[1].Text);
         string Name   = listView_InMine.SelectedItems[0].SubItems[2].Text;
         //准备显示文字轨迹信息
         text_History.Text = "   详细历史轨迹说明\r\n";
         text_History.AppendText("员工:" + Name + "    工号:" + listView_InMine.SelectedItems[0].SubItems[0].Text + "\r\n");
         text_History.AppendText("起始时间:" + this.StartTime.ToString() + "\r\n");
         text_History.AppendText("终止时间:" + this.EndTime.ToString() + "\r\n");
         text_History.AppendText(" \r\n");
         using (DataTable tempTable1 = DB_Service.GetTable("tempTable", "select * from HistoryPositionTable where CardID = " + CardID + " and Time >= '" + this.StartTime + "' and Time <= '" + this.EndTime + "' order by ID ASC"))
         {
             int MaxStationID = -1;
             for (int i = 0; i < tempTable1.Rows.Count; i++)
             {
                 if (MaxStationID != Convert.ToInt32(tempTable1.Rows[i]["MaxStationID"]))
                 {
                     MaxStationID = Convert.ToInt32(tempTable1.Rows[i]["MaxStationID"]);
                     text_History.AppendText(Convert.ToString(text_History.Lines.Length - 5) + ". 进入【" + MaxStationID.ToString() + "】号基站,于" + Convert.ToDateTime(tempTable1.Rows[i]["Time"]).TimeOfDay.ToString() + "\r\n");
                 }
             }
         }
         //显示考勤信息
         text_DutyInfo.Text = "  考勤概要\n";
         text_DutyInfo.AppendText(" \n");
         DataTable tempTable = DB_Service.GetTable("tempTable", "select * from DutyTable where CardID = " + CardID + " and InTime >='" + StartTime.ToString() + "' and InTime <='" + EndTime.ToString() + "'");
         if (tempTable.Rows.Count > 0)
         {
             for (int i = 0; i < tempTable.Rows.Count; i++)
             {
                 string InTimeStr  = "空";
                 string OutTimeStr = "空";
                 if (tempTable.Rows[i]["InTime"] != DBNull.Value)
                 {
                     InTimeStr = Convert.ToDateTime(tempTable.Rows[i]["InTime"]).TimeOfDay.ToString();
                 }
                 if (tempTable.Rows[i]["OutTime"] != DBNull.Value)
                 {
                     OutTimeStr = Convert.ToDateTime(tempTable.Rows[i]["OutTime"]).TimeOfDay.ToString();
                 }
                 text_DutyInfo.AppendText("-第" + Convert.ToString(i + 1) + "次-\r\n进入:" + InTimeStr + "\r\n离开:" + OutTimeStr + "\r\n\r\n");
             }
         }
         else
         {
             text_DutyInfo.AppendText("对不起,在您选定的时间段内,这个人员没有考勤记录。");
         }
     }
 }
示例#17
0
 private void btn_BindCard_Click(object sender, EventArgs e)
 {
     if (dataGridView_Card.SelectedRows.Count > 0 && dataGridView_Person.SelectedRows.Count > 0)
     {
         int    BindCardID = Convert.ToInt32(dataGridView_Card.SelectedRows[0].Cells["CardID"].Value);
         string BindPID    = dataGridView_Person.SelectedRows[0].Cells["PID"].Value.ToString();
         if (MessageBox.Show("您确定要将编号为:" + BindCardID + " 的这个卡片与工号为:" + BindPID + " 的员工绑定在一起吗?", "绑定卡片", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             DataRow[] rows_Card = DB_Service.MainDataSet.Tables["CardTable"].Select("CardID = " + BindCardID);
             if (rows_Card.Length > 0)
             {
                 DataRow[] rows_Person = DB_Service.MainDataSet.Tables["PersonTable"].Select("PID = '" + BindPID + "'");
                 if (rows_Person.Length > 0)
                 {
                     //判断BindCardID是否没有绑定任何卡,绑定则跳出
                     if (rows_Card[0]["PID"] != DBNull.Value)
                     {
                         MessageBox.Show("对不起,您欲绑定的卡片(编号:" + BindCardID + ")已经绑定了别的人员,所以,您不能重复绑定。\n您可以先删除这张卡片原有的绑定后重试。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                     //判断BindPID是否没有被任何卡绑定,绑定则跳出
                     DataRow[] tempRows = DB_Service.MainDataSet.Tables["CardTable"].Select("PID = '" + BindPID + "'");
                     if (tempRows.Length > 0)
                     {
                         MessageBox.Show("对不起,您欲绑定的人员(工号:" + BindPID + ")已经绑定了别的卡片,所以,您不能重复绑定。\n您可以先删除这个人员原有的绑定后重试。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                     //一对一性测试通过,修改记录并保存
                     rows_Card[0]["PID"] = BindPID;
                     if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["CardTable"]) == 0)
                     {
                         MessageBox.Show("绑定失败!", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
                 else
                 {
                     MessageBox.Show("您欲绑定的人员不存在。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
             else
             {
                 MessageBox.Show("您欲绑定的卡片不存在。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
     }
     else
     {
         MessageBox.Show("请先选择一个您要绑定的卡片和欲绑定的人员。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
示例#18
0
 private void com_MainMap_DropDownClosed(object sender, EventArgs e)
 {
     if (com_MainMap.Text != "")
     {
         if (MessageBox.Show("您是否确定将 <" + com_MainMap.Text + "> 设置为:免绘主地图?", "设置免绘主地图", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             //更新MapTable中的MainMap字段
             if (DB_Service.MainDataSet.Tables["MapTable"].Rows.Count > 0)
             {
                 DB_Service.MainDataSet.Tables["MapTable"].Rows[0]["MainMap"] = com_MainMap.Text.Trim();
                 DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["MapTable"]);
             }
         }
         //刷新Com_MainMap的Index
         RefreshComMainMapIndex();
     }
 }
示例#19
0
        private const int TrySaveCount          = 2; //服务端重试2次

        /// <summary>
        /// 提交保存更改
        /// </summary>
        /// <returns></returns>
        public bool SaveChanges()
        {
            lock (LockSave)
            {
                int iSave  = 1; //最后一次写入失败后抛出异常
                int result = 0;

                #region 重复写,最后一次抛出异常

                while (iSave < TrySaveCount)
                {
                    try
                    {
                        result = dbWrite.SaveChanges(); //保存提交
                        return(result > 0);             //
                    }
                    catch (Exception)                   //写入失败
                    {
                        Console.WriteLine($"!!!!!!!!!!! 第【{iSave}】次写入数据库失败 !!!!!!!!!!!!");
                        iSave++;
                        Thread.Sleep(100); //暂停100ms
                    }
                }

                #endregion

                #region 最后一次写入,失败后抛出异常

                try
                {
                    result = dbWrite.SaveChanges(); //保存提交
                    return(result > 0);             //
                }
                catch (Exception ex)                //写入失败
                {
                    Console.WriteLine($"!!!!!!!!!!! 多次写入数据库失败,共尝试【{TrySaveCount}】次,请检查 !!!!!!!!!!!!");
                    dbWrite = DBContextFactory.GetService(); //保存失败,重新获取一个EF缓存
                    throw new Exception(
                              $"写入数据库失败,\r\n错误为:Message:{ex.Message}\r\nStackTrace:{ex.StackTrace}\r\nInnerException:{ex.InnerException?.Message}");
                }

                #endregion
            }
        }
示例#20
0
        public static IEnumerable <DrawNumber> GetALLDrawNumbers(DB_Service DBconnect)
        {
            string _Query = "SELECT * FROM DrawResult";

            DBconnect.Query = _Query;
            foreach (DataRow row in DBconnect.OutTable.Rows)
            {
                DrawNumber DrawResult;
                try
                {
                    DrawResult = new DrawNumber(Convert.ToInt16(row["ID"].ToString()), Convert.ToDateTime(row["DrawDate"].ToString()), Convert.ToByte(row["Num1"].ToString()), Convert.ToByte(row["Num2"].ToString()), Convert.ToByte(row["Num3"].ToString()), Convert.ToByte(row["Num4"].ToString()), Convert.ToByte(row["Num5"].ToString()), Convert.ToByte(row["EURnum1"].ToString()), Convert.ToByte(row["EURnum2"].ToString()));
                }
                catch
                {
                    DrawResult = new DrawNumber(Convert.ToInt16(row["ID"].ToString()), Convert.ToDateTime(row["DrawDate"].ToString()));
                }
                yield return(DrawResult);
            }
        }
示例#21
0
 private void btn_DelCard_Click(object sender, EventArgs e)
 {
     if (dataGridView_Card.SelectedRows.Count > 0)
     {
         int DelCardID = Convert.ToInt32(dataGridView_Card.SelectedRows[0].Cells["CardID"].Value);
         if (MessageBox.Show("您确定要删除编号为:" + DelCardID + " 的这个卡片吗?\n\n删除卡片会自动删除这张卡片的考勤、报警、定位等相关记录。", "删除卡片", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             DataRow[] rows = DB_Service.MainDataSet.Tables["CardTable"].Select("CardID = " + DelCardID);
             if (rows.Length > 0)
             {
                 rows[0].Delete();
                 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["CardTable"]) > 0)
                 {
                     //级联删除SQL语句数组
                     List <string> strSQLs = new List <string>();
                     //删除考勤记录
                     strSQLs.Add("delete from DutyTable where CardID = " + DelCardID);
                     //删除定位记录
                     strSQLs.Add("delete from HistoryPositionTable where CardID = " + DelCardID);
                     //删除报警记录
                     strSQLs.Add("delete from AlarmPersonSendTable where CardID = " + DelCardID);
                     //因为有可能没有任何报警、考勤、定位记录。故不检测返回
                     DB_Service.ExecuteSQLs(strSQLs, new string[3] {
                         "DutyTable", "HistoryPositionTable", "AlarmPersonSendTable"
                     });
                     label_AllCard.Text = "共有卡片 " + DB_Service.MainDataSet.Tables["CardTable"].Rows.Count.ToString() + " 张。其中有 " + DB_Service.MainDataSet.Tables["CardTable"].Select("PID is null").Length.ToString() + " 张尚未与员工绑定。";
                 }
                 else
                 {
                     MessageBox.Show("删除失败!", "删除卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
             else
             {
                 MessageBox.Show("您欲删除的卡片不存在。", "删除卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
     }
     else
     {
         MessageBox.Show("请先选择一个您要删除的卡片。", "删除卡片", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
示例#22
0
 private void btn_DelWP_Click(object sender, EventArgs e)
 {
     if (DataGridViewWP.SelectedRows.Count > 0)
     {
         string DelWP = DataGridViewWP.SelectedRows[0].Cells["WPName"].Value.ToString();
         if (MessageBox.Show("您确定要删除:" + DelWP + " 这个方案吗?", "工分管理", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             DataRow[] rows = DB_Service.MainDataSet.Tables["WPTable"].Select("WPName = '" + DelWP + "'");
             if (rows.Length > 0)
             {
                 rows[0].Delete();
                 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WPTable"]) > 0)
                 {
                     //级联删除WorkTypeTable中的相应字段
                     DataRow[] DeepRows = DB_Service.MainDataSet.Tables["WorkTypeTable"].Select("WPName = '" + DelWP + "'");
                     if (DeepRows.Length > 0)
                     {
                         for (int i = 0; i < DeepRows.Length; i++)
                         {
                             DeepRows[i]["WPName"] = DBNull.Value;
                         }
                         DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WorkTypeTable"]);
                     }
                     DeepRows = null;
                     //刷新职务显示中的工分方案列表
                     RefreshWPSelectCombox();
                 }
                 else
                 {
                     MessageBox.Show("删除失败!", "工分管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
             else
             {
                 MessageBox.Show("您欲删除的工分方案不存在。", "工分管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
     }
     else
     {
         MessageBox.Show("请选择一个您欲删除的工分方案。", "工分管理");
     }
 }
示例#23
0
 private void btn_CleanHistoryCollect_Click(object sender, EventArgs e)
 {
     if (DialogResult.Yes == MessageBox.Show("注意!您正要清空历史采集信息表。您确定要这样做吗?", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
     {
         List <string> strSQLs = new List <string>();
         strSQLs.Add("select * into HistoryCollectTable_Temp from HistoryCollectTable where 1=2");
         strSQLs.Add("Drop Table HistoryCollectTable");
         strSQLs.Add("EXEC sp_rename 'HistoryCollectTable_Temp', 'HistoryCollectTable'");
         strSQLs.Add("Alter Table HistoryCollectTable Add Constraint HistoryCollectTable_ID Primary Key(ID)");
         try
         {
             DB_Service.ExecuteSQLs(strSQLs);
             MessageBox.Show(" 清空数据表成功!   ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "清空指定表数据");
         }
     }
 }
示例#24
0
 private void btn_DelDepartment_Click(object sender, EventArgs e)
 {
     if (DataGridViewDepartment.SelectedRows.Count > 0)
     {
         string DelDepartment = DataGridViewDepartment.SelectedRows[0].Cells["DepartmentName"].Value.ToString();
         if (MessageBox.Show("您确定要删除:" + DelDepartment + " 这个部门吗?", "部门管理", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             DataRow[] rows = DB_Service.MainDataSet.Tables["DepartmentTable"].Select("DepartmentName = '" + DelDepartment + "'");
             if (rows.Length > 0)
             {
                 rows[0].Delete();
                 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["DepartmentTable"]) > 0)
                 {
                     //级联删除PersonTable中的相应字段
                     DataRow[] DeepRows = DB_Service.MainDataSet.Tables["PersonTable"].Select("Department = '" + DelDepartment + "'");
                     if (DeepRows.Length > 0)
                     {
                         for (int i = 0; i < DeepRows.Length; i++)
                         {
                             DeepRows[i]["Department"] = DBNull.Value;
                         }
                         DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["PersonTable"]);
                     }
                     DeepRows = null;
                 }
                 else
                 {
                     MessageBox.Show("删除失败!", "部门管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
             else
             {
                 MessageBox.Show("您欲删除的部门不存在。", "部门管理", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
     }
     else
     {
         MessageBox.Show("请选择一个您欲删除的部门。", "部门管理");
     }
 }
示例#25
0
 private void btn_CleanPerson_Click(object sender, EventArgs e)
 {
     if (DialogResult.Yes == MessageBox.Show("注意!您正要清空人员表。您确定要这样做吗?", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
     {
         List <string> strSQLs = new List <string>();
         strSQLs.Add("select * into PersonTable_Temp from PersonTable where 1=2");
         strSQLs.Add("Drop Table PersonTable");
         strSQLs.Add("EXEC sp_rename 'PersonTable_Temp', 'PersonTable'");
         strSQLs.Add("Alter Table PersonTable Add Constraint PersonTable_PID Primary Key(PID)");
         strSQLs.Add("update CardTable set PID = null");
         try
         {
             DB_Service.ExecuteSQLs(strSQLs);
             MessageBox.Show(" 清空数据表成功!   ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "清空指定表数据");
         }
     }
 }
示例#26
0
 private void btn_CleanCollectChannel_Click(object sender, EventArgs e)
 {
     if (DialogResult.Yes == MessageBox.Show("注意!您正要清空采集器通道信息表。您确定要这样做吗?\n\n清空表同时将自动清空采集器基站里的通道信息。", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
     {
         List <string> strSQLs = new List <string>();
         strSQLs.Add("select * into CollectChannelTable_Temp from CollectChannelTable where 1=2");
         strSQLs.Add("Drop Table CollectChannelTable");
         strSQLs.Add("EXEC sp_rename 'CollectChannelTable_Temp', 'CollectChannelTable'");
         strSQLs.Add("Alter Table CollectChannelTable Add Constraint CollectChannelTable_Channel_ID Primary Key(Channel_ID)");
         strSQLs.Add("update StationTable set CollectChannelIDStr = null");
         try
         {
             DB_Service.ExecuteSQLs(strSQLs);
             MessageBox.Show(" 清空数据表成功!   ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "清空指定表数据");
         }
     }
 }
示例#27
0
 private void btn_CleanMapArea_Click(object sender, EventArgs e)
 {
     if (DialogResult.Yes == MessageBox.Show("注意!您正要清空区域表,同时也会将基站中的区域信息清空。您确定要这样做吗?", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
     {
         List <string> strSQLs = new List <string>();
         strSQLs.Add("select * into MapAreaTable_Temp from MapAreaTable where 1=2");
         strSQLs.Add("Drop Table MapAreaTable");
         strSQLs.Add("EXEC sp_rename 'MapAreaTable_Temp', 'MapAreaTable'");
         strSQLs.Add("Alter Table MapAreaTable Add Constraint MapAreaTable_MapAreaName Primary Key(MapAreaName)");
         strSQLs.Add("update StationTable set Area = null");
         try
         {
             DB_Service.ExecuteSQLs(strSQLs);
             MessageBox.Show(" 清空数据表成功!   ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "清空指定表数据");
         }
     }
 }
示例#28
0
        private bool CheckUserName(string UserName)
        {
            try
            {
                DB_Service.UpdateTableFromDB(DB_Service.MainDataSet.Tables["UserTable"]);

                DataRow[] rows = DB_Service.MainDataSet.Tables["UserTable"].Select("UserName = '******'");
                if (rows.Length == 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#29
0
        private void btn_SaveClass_Click(object sender, EventArgs e)
        {
            if (tex_ClassName.Text.Trim() == "" || com_StartHourClass.Text.Trim() == "" || com_StartMinuteClass.Text.Trim() == "" || com_EndHourClass.Text.Trim() == "" || com_EndMinuteClass.Text.Trim() == "")
            {
                MessageBox.Show("请输入完整的班次信息后再进行保存。\n至少包含:班次名、上班时间、下班时间", "班次设置", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                //如果是新建班次,则判断班次名称的唯一性并初始化ClassRow
                if (ClassRow == null)
                {
                    if (DB_Service.MainDataSet.Tables["ClassTable"].Select("ClassName = '" + tex_ClassName.Text.Trim() + "'").Length > 0)
                    {
                        MessageBox.Show("对不起,您所输入的这个班次名称已经存在,请重新输入一个未被占用的班次名称。", "新增班次", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        tex_ClassName.Text = "";
                        return;
                    }
                    else
                    {
                        //初始化ClassRow
                        ClassRow = DB_Service.MainDataSet.Tables["ClassTable"].NewRow();
                        DB_Service.MainDataSet.Tables["ClassTable"].Rows.Add(ClassRow);
                    }
                }

                //修改ClassRow的值
                ClassRow["ClassName"] = tex_ClassName.Text.Trim();
                ClassRow["StartTime"] = com_StartHourClass.Text.Split(' ')[0] + ":" + com_StartMinuteClass.Text.Split(' ')[0];
                ClassRow["EndTime"]   = com_EndHourClass.Text.Split(' ')[0] + ":" + com_EndMinuteClass.Text.Split(' ')[0];

                panel_Class.Enabled = false;

                //将ClassRow中的更新提交至数据库
                if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["ClassTable"]) == 0)
                {
                    MessageBox.Show("保存班次信息失败!\n请确保数据库连接正确。", "班次管理");
                }
            }
        }
示例#30
0
        public static void UpdateDrawNumber(DrawNumber InputNumbers, DB_Service DBconnect)
        {
            string Table = "DrawResult";

            string[] Column         = new string[] { "Num1", "Num2", "Num3", "Num4", "Num5", "EURnum1", "EURnum2" };
            string[] ValueParaName  = Column;
            string[] ValueParaValue = new string[]
            {
                InputNumbers.Num1.ToString(),
                     InputNumbers.Num2.ToString(),
                     InputNumbers.Num3.ToString(),
                     InputNumbers.Num4.ToString(),
                     InputNumbers.Num5.ToString(),
                     InputNumbers.EUNum1.ToString(),
                     InputNumbers.EUNum2.ToString()
            };
            string[] WhereRow   = new string[] { "DrawDate" };
            string[] WherePara  = new string[] { "DrawDate" };
            string[] WhereValue = new string[] { InputNumbers.DrawDate.ToString("yyyy-MM-dd") };
            DBconnect.UpdateCommandWithoutkey(Table, Column, ValueParaName, ValueParaValue, WhereRow, WherePara, WhereValue);
            DBconnect.nonQueryCmd();
        }