Example #1
0
 private void buttonDelete_Click(object sender, EventArgs e)
 {
     int[] ids = Utilities.GetSelectedIDs(this.reoGridControlMain);
     if (ids.Length == 0)
     {
         MessageBox.Show("请选择要删除的项目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         return;
     }
     if (ShipmentTicketUtilities.DeleteItemsSync(ids, out string errorMessage) == false)
     {
         MessageBox.Show(errorMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
     this.Search();
     MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     return;
 }
Example #2
0
        private void buttonDelete_Click(object sender, EventArgs e)
        {
            int[] deleteIDs = this.GetSelectedIDs();
            if (deleteIDs.Length == 0)
            {
                MessageBox.Show("请选择您要删除的记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            WMSEntities wmsEntities = new WMSEntities();

            //如果被作业单引用了,不能删除
            try
            {
                StringBuilder sbIDArray = new StringBuilder();
                foreach (int id in deleteIDs)
                {
                    sbIDArray.Append(id + ",");
                }
                sbIDArray.Length--;
                int countRef = wmsEntities.Database.SqlQuery <int>(string.Format("SELECT COUNT(*) FROM JobTicket WHERE ShipmentTicketID IN ({0})", sbIDArray.ToString())).Single();
                if (countRef > 0)
                {
                    MessageBox.Show("删除失败,发货单被作业单引用,请先删除相应作业单!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
            }
            catch
            {
                MessageBox.Show("操作失败,请检查您的网络连接", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (MessageBox.Show("您真的要删除这些记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
            {
                return;
            }
            this.labelStatus.Text = "正在删除...";


            new Thread(new ThreadStart(() =>
            {
                try
                {
                    foreach (int ticketID in deleteIDs)
                    {
                        int[] itemIDs = (from s in wmsEntities.ShipmentTicketItem where s.ShipmentTicketID == ticketID select s.ID).ToArray();
                        if (ShipmentTicketUtilities.DeleteItemsSync(itemIDs, out string errorMessage) == false)
                        {
                            MessageBox.Show(errorMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        wmsEntities.Database.ExecuteSqlCommand("DELETE FROM ShipmentTicket WHERE ID = @shipmentTicketID", new SqlParameter("shipmentTicketID", ticketID));
                    }
                    wmsEntities.SaveChanges();
                }
                catch
                {
                    MessageBox.Show("删除失败,请检查网络连接", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                this.Invoke(new Action(() => { this.Search(true); }));
            })).Start();
        }