Esempio n. 1
0
        /// <summary>
        /// 记录排队顺序下降
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDownRecord_Click(object sender, RoutedEventArgs e)
        {
            int  id    = Convert.ToInt32((sender as Button).CommandParameter.ToString());
            bool bFind = memberData.Any <AGV_CALLMember>(p => p.iNO == id);

            if (bFind)
            {
                IEnumerable <AGV_CALLMember> deletemember1 = memberData.Where <AGV_CALLMember>(p => p.iNO == id);
                AGV_CALLMember member1 = deletemember1.First <AGV_CALLMember>();
                int            iIndex  = memberData.IndexOf(member1);
                if (iIndex >= 0 && (iIndex + 1) < memberData.Count)
                {
                    memberData.Move(iIndex, iIndex + 1);
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 删除
        /// </summary>
        public bool Delete(int stationnum, int materialnum)
        {
            bool flag = false;

            if (stationnum > 0 && materialnum > 0)
            {
                bool bFind = memberData.Any <AGV_CALLMember>(p => p.iStationNum == stationnum && p.iMaterialNum == materialnum);
                if (bFind)
                {
                    IEnumerable <AGV_CALLMember> deletemember1 = memberData.Where <AGV_CALLMember>(p => p.iStationNum == stationnum && p.iMaterialNum == materialnum);
                    AGV_CALLMember member1 = deletemember1.First <AGV_CALLMember>();
                    Dispatcher.Invoke(new DeleteCallMemberEvent(this.DeleteCallMember), member1);
                    //DeleteCallMember(member1);
                    flag = true;
                }
            }
            return(flag);
        }
Esempio n. 3
0
        /// <summary>
        /// 删除记录
        /// </summary>
        /// <param name="strTaskID">流水作业号</param>
        private void DeleteRowFromTaskID(int id)
        {
            bool bFind = memberData.Any <AGV_CALLMember>(p => p.iNO == id);

            if (bFind)
            {
                IEnumerable <AGV_CALLMember> deletemember1 = memberData.Where <AGV_CALLMember>(p => p.iNO == id);
                AGV_CALLMember member1 = deletemember1.First <AGV_CALLMember>();
                Dispatcher.Invoke(new DeleteCallMemberEvent(this.DeleteCallMember), member1);
                IEnumerable <AGV_CALLMember> deletemember2 = memberData.Where <AGV_CALLMember>(p => p.iNO > id);
                foreach (var item in deletemember2)
                {
                    int iIndex = memberData.IndexOf(item);
                    if (iIndex > -1)
                    {
                        memberData[iIndex].iNOValue = memberData[iIndex].iNO - 1;
                    }
                }
            }
        }
Esempio n. 4
0
        //private delegate void AddCallMemberEvent(AGV_CALLMember si);
        //private delegate void DeleteCallMemberEvent(AGV_CALLMember si);

        public bool Add(int stationnum, int materialnum)
        {
            bool flag = false;

            if (stationnum > 0 && materialnum > 0)
            {
                DAL.ZSql callSql = new DAL.ZSql();
                bool     bFind   = memberData.Any <AGV_CALLMember>(p => p.iStationNum == stationnum && p.iMaterialNum == materialnum);
                if (!bFind)
                {
                    AGV_CALLMember DisMember = new AGV_CALLMember();
                    DisMember.iNO          = memberData.Count + 1;
                    DisMember.dtTime       = new DateTime();
                    DisMember.iStationNum  = stationnum;
                    DisMember.iMaterialNum = materialnum;
                    callSql.Open("Select * from T_CallSetting where StationNum=" + stationnum.ToString() + " and MaterialNum=" + materialnum);
                    if (callSql.rowcount > 0)
                    {
                        DisMember.sMaterialName = callSql.Rows[0]["MaterialName"].ToString();
                        DisMember.iLineNum      = Convert.ToInt16(callSql.Rows[0]["LineNum"]);
                        lineNum.Add(DisMember.iLineNum);
                        flag = true;
                    }
                    callSql.Close();

                    /*********************************
                     * http://blog.csdn.net/luminji/article/details/5353644
                     * 典型应用场景:WPF页面程序中,ListView的ItemsSource是一个ObservableCollection<StudentInfo>;
                     * 操作:另起一个线程,为ListView动态更新数据,也就是给ObservableCollection<StudentInfo>添加记录。
                     * 这类操作,就是跨线程访问线程安全的数据,如果不使用Dispatcher,就会导致出错“该类型的CollectionView
                     * 不支持从调度程序线程以外的线程对其SourceCollection”。
                     **********************************/
                    //Dispatcher.Invoke(new AddCallMemberEvent(this.AddCallMember), DisMember);
                    AddCallMember(DisMember);
                }
            }
            return(flag);
        }
Esempio n. 5
0
 /// <summary>
 /// 删除成员
 /// </summary>
 /// <param name="si">成员数据</param>
 private void DeleteCallMember(AGV_CALLMember si)
 {
     memberData.Remove(si);
 }
Esempio n. 6
0
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="si">成员数据</param>
 private void AddCallMember(AGV_CALLMember si)
 {
     memberData.Add(si);
 }
Esempio n. 7
0
 /// <summary>
 /// 删除成员
 /// </summary>
 /// <param name="si">成员数据</param>
 private void DeleteCallMember(AGV_CALLMember si)
 {
     memberData.Remove(si);
     RichTextBoxUpdate(si.dtTime.ToString() + ":工位" + si.iStationNum.ToString() + "(" + si.iMaterialNum.ToString() + ")" + "取消叫料成功" + "\r\n", Colors.Green);
     UpdateInfo();
 }
Esempio n. 8
0
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="si">成员数据</param>
 private void AddCallMember(AGV_CALLMember si)
 {
     memberData.Add(si);
     RichTextBoxUpdate(si.dtTime.ToString() + ":工位" + si.iStationNum.ToString() + "(" + si.iMaterialNum.ToString() + ") 缺" + si.sMaterialName + "\r\n", Colors.Red);
     UpdateInfo();
 }