Пример #1
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            List <SOWHUpdateInfoVM> selectList = GetCheckStockList(this.dgQueryResult.ItemsSource as List <SOWHUpdateInfoVM>);

            if (selectList != null)
            {
                List <SOWHUpdateInfo> soWHUpdateInfoList = new List <SOWHUpdateInfo>();
                foreach (var item in selectList)
                {
                    item.CompanyCode = CPApplication.Current.CompanyCode;
                    soWHUpdateInfoList.Add(item.ConvertVM <SOWHUpdateInfoVM, SOWHUpdateInfo>());
                }

                SOQueryFacade soQueryFacade = new SOQueryFacade(this);

                soQueryFacade.QuerySOInfo(Convert.ToInt32(soWHUpdateInfoList[0].SOSysNo), vm =>
                {
                    soView = vm;

                    //只有处于审核状态的订单才可以修改
                    if (soView == null ||
                        soView.BaseInfoVM.Status != (int)SOStatus.Origin)
                    {
                        this.Window.Alert(ResSO.Msg_SOUpdate_WarningSOAuditOutStock);
                        return;
                    }

                    #region 更新操作
                    try
                    {
                        bool result       = false;
                        SOFacade soFacade = new SOFacade(this);
                        soFacade.WHUpdateStock(soWHUpdateInfoList[0], (obj, args) =>
                        {
                            if (args.FaultsHandle())
                            {
                                return;
                            }
                            result = (Boolean)args.Result;
                            if (result)
                            {
                                m_WHUpdateQueryView.SOSysNo = SOSysNo.ToString();
                                this.Window.Alert(ResSO.Info_WHUpdate_UpdateSucceed);
                                this.dgQueryResult.Bind();
                            }
                            else
                            {
                                this.Window.Alert(ResSO.Info_WHUpdate_UpdateFail);
                            }
                        });
                    }
                    catch (BusinessException be)
                    {
                        this.Window.Alert(be.ErrorDescription);
                    }
                    #endregion
                });
            }
        }