Example #1
0
        /// <summary>
        /// 销毁消息
        /// </summary>
        /// <param name="billNo">单据号</param>
        void DestroyMessage(string billNo)
        {
            Flow_BillFlowMessage msg = m_billFlowMsg.GetMessage(BasicInfo.LoginID, labelTitle.Text, billNo);

            if (msg == null)
            {
                return;
            }

            m_billFlowMsg.DestroyMessage(BasicInfo.LoginID, msg.序号);
            SendFinishedFlagToMessagePromptForm(billNo);
        }
Example #2
0
        /// <summary>
        /// 重新窗体消息处理函数
        /// </summary>
        /// <param name="m">窗体消息</param>
        protected override void DefWndProc(ref Message m)
        {
            switch (m.Msg)
            {
            //接收自定义消息,放弃未提交的单据号
            case WndMsgSender.CloseMsg:
                break;

            case WndMsgSender.PositioningMsg:
                WndMsgData msg      = new WndMsgData();     //这是创建自定义信息的结构
                Type       dataType = msg.GetType();

                msg = (WndMsgData)m.GetLParam(dataType);    //这里获取的就是作为LParam参数发送来的信息的结构

                DataTable dtMessage = UniversalFunction.PositioningOneRecord(msg.MessageContent, "重新打印");

                if (dtMessage.Rows.Count == 0)
                {
                    Flow_BillFlowMessage billmsg = m_billFlowMsg.GetMessage(BasicInfo.LoginID, "重新打印", msg.MessageContent);

                    m_billFlowMsg.DestroyMessage(BasicInfo.LoginID, billmsg.序号);

                    MessageDialog.ShowPromptMessage("未找到相关记录");
                }
                else
                {
                    dgvShowInfo.DataSource       = dtMessage;
                    dgvShowInfo.Rows[0].Selected = true;
                }

                break;

            default:
                base.DefWndProc(ref m);
                break;
            }
        }
        /// <summary>
        /// 销毁消息
        /// </summary>
        /// <param name="billNo">单据号</param>
        /// <returns>操作是否成功的标志</returns>
        public bool DestroyMessage(string billNo)
        {
            if (m_billType == null || m_billType == "")
            {
                m_billType = GetBillType(billNo);
            }

            Debug.Assert(!GlobalObject.GeneralFunction.IsNullOrEmpty(m_billType), "单据类别不能为空");
            Debug.Assert(!GlobalObject.GeneralFunction.IsNullOrEmpty(billNo), "单据号不能为空");

            try
            {
                Flow_BillFlowMessage msg = GetMessage(billNo);

                if (msg != null)
                {
                    m_billFlowMsg.DestroyMessage(BasicInfo.LoginID, msg.序号);
                }

                DepotManagementDataContext ctx = CommentParameter.DepotDataContext;

                //添加删除单据的记录 CJB 2012.3.19
                BASE_DeleteBill lnqDeleteBill = new BASE_DeleteBill();

                lnqDeleteBill.Bill_ID    = billNo;
                lnqDeleteBill.DeleteTime = ServerTime.Time;
                lnqDeleteBill.WorkID     = BasicInfo.LoginID;

                ctx.BASE_DeleteBill.InsertOnSubmit(lnqDeleteBill);
                ctx.SubmitChanges();

                SendFinishedFlagToMessagePromptForm(billNo);

                return(true);
            }
            catch (Exception exce)
            {
                m_logManagement.WriteException(exce.Message + "\t\r" + exce.StackTrace, out m_error);
                return(false);
            }
        }