예제 #1
0
 /// <summary>
 /// 保存按钮
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void setJsonAlarm(JsonAlarm source_jsonAlarm, JsonAlarm target_jsonAlarm)
 {
     source_jsonAlarm.H         = target_jsonAlarm.H;
     source_jsonAlarm.L         = target_jsonAlarm.L;
     source_jsonAlarm.HIsActive = target_jsonAlarm.HIsActive;
     source_jsonAlarm.LIsActive = target_jsonAlarm.LIsActive;
     source_jsonAlarm.Tag       = target_jsonAlarm.Tag;
 }
예제 #2
0
        private void save_Click(object sender, EventArgs e)
        {
            this.lbl_Status.Text = "";
            TagModel             = new TagSimpleModel();
            TagModel.HValue      = string.IsNullOrEmpty(txt_HighAlarm.Text) ? 99999 : decimal.Parse(txt_HighAlarm.Text);
            TagModel.LValue      = string.IsNullOrEmpty(txt_LowAlarm.Text) ? -99999 : decimal.Parse(txt_LowAlarm.Text);

            if (TagModel.LValue >= TagModel.HValue)
            {
                this.lbl_Status.ForeColor = Color.Red;
                this.lbl_Status.Text      = list_status[3];
                return;
            }

            //string Tag = list_tagdir.Where(o => o.TagShowName == lbl_TagId.Text).Select(o => o.Basic).FirstOrDefault();
            TagModel.Tag     = string.IsNullOrEmpty(lbl_TagId.Text) ? "" : lbl_TagId.Text;
            TagModel.DrillId = string.IsNullOrEmpty(lbl_DrillId.Text) ? 0 : int.Parse(lbl_DrillId.Text);
            btn_Save.Enabled = false;
            btn_Save.Text    = "Wait...";

            try
            {
                //if (AppDrill.username == "admin")
                //{
                //    backgroundWorker2.RunWorkerAsync(); //开始
                //}

                ////0711修改,将上下限报警是否启用保存到drilltag
                //_db.DrillTag.Where(o => o.DrillId == 1 && o.Tag == TagModel.Tag).FirstOrDefault().HisActive = chb_H.Checked;
                //_db.DrillTag.Where(o => o.DrillId == 1 && o.Tag == TagModel.Tag).FirstOrDefault().LisActive = chb_L.Checked;
                //0710保存到 jsonalarm
                //JsonAlarm model = new JsonAlarm();
                //model.H = string.IsNullOrEmpty(txt_HighAlarm.Text) ? 99999 : double.Parse(txt_HighAlarm.Text);
                //model.L = string.IsNullOrEmpty(txt_LowAlarm.Text) ? -99999 : double.Parse(txt_LowAlarm.Text);
                //model.HIsActive = chb_H.Checked;
                //model.LIsActive = chb_L.Checked;
                //model.Tag = AlarmtagList[lst_channel.SelectedIndex].Tag;

                //0714批量修改
                //因为templist只会在切换的时候添加,所以最后一条记录要先修改到templist
                if (TempAlarmList.ContainsKey(lst_channel.SelectedIndex))
                {
                    TempAlarmList[lst_channel.SelectedIndex].H         = string.IsNullOrEmpty(txt_HighAlarm.Text) ? 99999 : double.Parse(txt_HighAlarm.Text);
                    TempAlarmList[lst_channel.SelectedIndex].L         = string.IsNullOrEmpty(txt_LowAlarm.Text) ? -99999 : double.Parse(txt_LowAlarm.Text);
                    TempAlarmList[lst_channel.SelectedIndex].HIsActive = chb_H.Checked;
                    TempAlarmList[lst_channel.SelectedIndex].LIsActive = chb_L.Checked;
                    TempAlarmList[lst_channel.SelectedIndex].Tag       = AlarmtagList[current_index].Tag;
                }
                else
                {
                    JsonAlarm tag = new JsonAlarm();
                    tag.H         = string.IsNullOrEmpty(txt_HighAlarm.Text) ? 99999 : double.Parse(txt_HighAlarm.Text);
                    tag.L         = string.IsNullOrEmpty(txt_LowAlarm.Text) ? -99999 : double.Parse(txt_LowAlarm.Text);
                    tag.HIsActive = chb_H.Checked;
                    tag.LIsActive = chb_L.Checked;
                    tag.Tag       = AlarmtagList[current_index].Tag;
                    TempAlarmList.Add(current_index, tag);
                }

                if (TempAlarmList.Count != 0)
                {
                    foreach (JsonAlarm item in TempAlarmList.Values)
                    {
                        var data = JsonAlarmList.Where(o => o.Tag == item.Tag).FirstOrDefault();

                        if (data == null)
                        {
                            //  JsonAlarm model = new JsonAlarm();
                            //   setJsonAlarm(model);
                            JsonAlarmList.Add(item);
                        }
                        else
                        {
                            setJsonAlarm(data, item);
                        }
                    }
                }
                //0716修改,如果是管理员权限会修改报警测点的上下限,影响统计结果,取消http请求的方式
                if (AppDrill.username == "admin")
                {
                    if (TempAlarmList.Count != 0)
                    {
                        foreach (JsonAlarm item in TempAlarmList.Values)
                        {
                            var data = _db.DrillTag.Where(o => o.DrillId == 1 && o.Tag == item.Tag).FirstOrDefault();
                            if (data != null)
                            {
                                data.HisActive = item.HIsActive;
                                data.LisActive = item.LIsActive;
                                data.HValue    = (decimal)item.H;
                                data.LValue    = (decimal)item.L;
                            }
                        }
                    }
                }


                AppDrill.JsonAlarmList = JsonAlarmList;
                string json = new JavaScriptSerializer().Serialize(JsonAlarmList);
                _db.UserTagRef.Where(o => o.Username == AppDrill.username).FirstOrDefault().JsonAlarm = json;
                _db.SaveChanges();

                this.lbl_Status.ForeColor = Color.Lime;
                this.lbl_Status.Text      = list_status[0];
                btn_Save.Enabled          = true;
                btn_Save.Text             = save;
            }
            catch (Exception)
            {
                this.lbl_Status.ForeColor = Color.Red;
                this.lbl_Status.Text      = list_status[1];
                //    MessageBox.Show(AppDrill.message[5]);//请勿重复点击
            }
        }
예제 #3
0
        /// <summary>
        /// list_channel 条目点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void list_channel_SelectedIndexChanged(object sender, EventArgs e)
        {
            //先判值赋给上一次的index
            if (TempAlarmList.ContainsKey(current_index))
            {
                TempAlarmList[current_index].H         = string.IsNullOrEmpty(txt_HighAlarm.Text) ? 99999 : double.Parse(txt_HighAlarm.Text);
                TempAlarmList[current_index].L         = string.IsNullOrEmpty(txt_LowAlarm.Text) ? -99999 : double.Parse(txt_LowAlarm.Text);
                TempAlarmList[current_index].HIsActive = chb_H.Checked;
                TempAlarmList[current_index].LIsActive = chb_L.Checked;
                TempAlarmList[current_index].Tag       = AlarmtagList[current_index].Tag;
            }
            else if (!TempAlarmList.ContainsKey(current_index) && (lst_channel.SelectedIndex != current_index))
            {
                JsonAlarm tag = new JsonAlarm();
                tag.H         = string.IsNullOrEmpty(txt_HighAlarm.Text) ? 99999 : double.Parse(txt_HighAlarm.Text);
                tag.L         = string.IsNullOrEmpty(txt_LowAlarm.Text) ? -99999 : double.Parse(txt_LowAlarm.Text);
                tag.HIsActive = chb_H.Checked;
                tag.LIsActive = chb_L.Checked;
                tag.Tag       = AlarmtagList[current_index].Tag;
                TempAlarmList.Add(current_index, tag);
            }

            int index = lst_channel.SelectedIndex;

            this.lbl_Status.Text = "";
            txt_HighAlarm.Text   = "";
            txt_LowAlarm.Text    = "";
            lbl_Tags.Text        = "";
            lbl_TagId.Text       = "";
            lbl_DrillId.Text     = "";
            chb_H.Checked        = false;
            chb_L.Checked        = false;
            //0714修改,先从缓存判断有没有值
            if (TempAlarmList.ContainsKey(index))
            {
                txt_HighAlarm.Text = TempAlarmList[index].H.ToString();
                txt_LowAlarm.Text  = TempAlarmList[index].L.ToString();
                lbl_TagId.Text     = TempAlarmList[index].Tag;
                lbl_Tags.Text      = Transformation(TempAlarmList[index].Tag);
                lbl_DrillId.Text   = "1";
                chb_H.Checked      = TempAlarmList[index].HIsActive;
                chb_L.Checked      = TempAlarmList[index].LIsActive;
            }


            //0710修改,用JsonAlarm更新
            else if (JsonAlarmList.Count != 0)
            {
                JsonAlarm tag = JsonAlarmList.Where(o => o.Tag == AlarmtagList[lst_channel.SelectedIndex].Tag).FirstOrDefault();
                if (tag != null)
                {
                    txt_HighAlarm.Text = tag.H.ToString();
                    txt_LowAlarm.Text  = tag.L.ToString();
                    lbl_TagId.Text     = tag.Tag;
                    lbl_Tags.Text      = Transformation(tag.Tag);
                    lbl_DrillId.Text   = "1";
                    chb_H.Checked      = tag.HIsActive;
                    chb_L.Checked      = tag.LIsActive;
                }
                else
                {
                    DrillTag tag2 = AlarmtagList[lst_channel.SelectedIndex];
                    txt_HighAlarm.Text = tag2 == null ? "" : (tag2.HValue >= 99999 ? "" : tag2.HValue.ToString());
                    txt_LowAlarm.Text  = tag2 == null ? "" : (tag2.LValue <= -99999 ? "" : tag2.LValue.ToString());
                    lbl_Tags.Text      = tag2 == null ? "" : Transformation(tag2.Tag);
                    lbl_TagId.Text     = tag2 == null ? "" : tag2.Tag;
                    lbl_DrillId.Text   = tag2 == null ? "" : tag2.DrillId.ToString();
                    chb_H.Checked      = tag2.HisActive == null ? false : (bool)tag2.HisActive;
                    chb_L.Checked      = tag2.LisActive == null ? false : (bool)tag2.LisActive;
                }
            }
            else
            {
                if (AlarmtagList.Count != 0)
                {
                    DrillTag tag = AlarmtagList[lst_channel.SelectedIndex];
                    txt_HighAlarm.Text = tag == null ? "" : (tag.HValue >= 99999 ? "" : tag.HValue.ToString());
                    txt_LowAlarm.Text  = tag == null ? "" : (tag.LValue <= -99999 ? "" : tag.LValue.ToString());
                    lbl_Tags.Text      = tag == null ? "" : Transformation(tag.Tag);
                    lbl_TagId.Text     = tag == null ? "" : tag.Tag;
                    lbl_DrillId.Text   = tag == null ? "" : tag.DrillId.ToString();
                    chb_H.Checked      = tag.HisActive == null ? false : (bool)tag.HisActive;
                    chb_L.Checked      = tag.LisActive == null ? false : (bool)tag.LisActive;
                }
            }

            current_index = lst_channel.SelectedIndex;
        }