Esempio n. 1
0
        /// <summary>
        /// 执行(质控品新增和修改后传递的参数方法)事件
        /// </summary>
        /// <param name="result"></param>
        /// <param name="keyValuePairs"></param>
        private void Execute_TransmitQCAndTestProjectInfoEvent(string result, Dictionary <QualityControlInfo, List <QCRelationProjectInfo> > keyValuePairs)
        {
            if (result == "新增质控品")
            {
                foreach (var keyValues in keyValuePairs)
                {
                    lstQualityControlInfo.Add(keyValues.Key);
                    foreach (var value in keyValues.Value)
                    {
                        lstQCRelationProjectInfo.Add(value);
                    }
                }

                this.Invoke(new EventHandler(delegate
                {
                    InitQCInfos(lstQualityControlInfo);
                    MessageBox.Show("质控品添加成功!");
                    qualityControlAddAndEdit.Close();
                }));
            }
            else
            {
                if (result == "编辑质控品")
                {
                    foreach (var keyValues in keyValuePairs)
                    {
                        lstQualityControlInfo.RemoveAll(r => r.QCID == keyValues.Key.QCID);
                        lstQualityControlInfo.Add(keyValues.Key);
                        foreach (var value in keyValues.Value)
                        {
                            lstQCRelationProjectInfo.RemoveAll(p => p.QCID == value.QCID && p.ProjectName == value.ProjectName);
                            lstQCRelationProjectInfo.Add(value);
                        }
                    }

                    this.Invoke(new EventHandler(delegate
                    {
                        InitQCInfos(lstQualityControlInfo);
                        MessageBox.Show("质控品修改成功!");
                        qualityControlAddAndEdit.Close();
                    }));
                }
            }
        }