Exemplo n.º 1
0
        private void btnProcessAll_Click(object sender, System.EventArgs e)
        {
            object[] objSims = (new DataCollectFacade(DataProvider)).GetOnlineSimulationByMoCode(txtMoCode.Value.Trim());

            if (objSims != null && objSims.Length > 0)
            {
                DataProvider.BeginTransaction();
                Messages msg = new Messages();
                try
                {
                    foreach (Simulation sim in objSims)
                    {
                        if (!msg.IsSuccess())
                        {
                            break;
                        }
                        msg.AddMessages(AllOffMO(sim.RunningCard, sim.MOCode, Convert.ToInt32(sim.IDMergeRule)));
                    }

                    MOFacade moFac = new MOFacade(DataProvider);
                    object   objMO = moFac.GetMO(txtMoCode.Value.Trim());

                    if (objMO != null)
                    {
                        MO mo = objMO as MO;
                        mo.MOStatus = Web.Helper.MOManufactureStatus.MOSTATUS_CLOSE;

                        //Laws Lu,2006/11/13 uniform system collect date
                        DBDateTime dbDateTime;

                        dbDateTime = FormatHelper.GetNowDBDateTime(DataProvider);


                        mo.MOActualEndDate = dbDateTime.DBDate;
                        moFac.MOStatusChanged(mo);
                    }

                    if (msg.IsSuccess())
                    {
                        DataProvider.CommitTransaction();
                    }
                    else
                    {
                        DataProvider.RollbackTransaction();
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex.Message);

                    msg.Add(new UserControl.Message(ex));
                    DataProvider.RollbackTransaction();
                }
                finally
                {
                    ((SQLDomainDataProvider)DataProvider).PersistBroker.CloseConnection();
                }

                ucMessage.Add(msg);
                ucMessage.Add(">>$CS_Please_Input_RunningCard");

                txtRCard.Value = String.Empty;
                txtRCard.TextFocus(false, true);
            }
        }