Ejemplo n.º 1
0
 void UCBatchInvoiceInput_Loaded(object sender, RoutedEventArgs e)
 {
     BindTaxRate();
     InitControls();
     facade = new EIMSOrderMgmtFacade();
     this.gridInfo.DataContext = InvoiceInfoEntityView = new EIMSInvoiceInfoEntityVM();
     BindInvoiceInfo(this.InvoiceEntryViewList);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Load 事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void UCInvoiceInput_Loaded(object sender, RoutedEventArgs e)
 {
     BindTaxRate();
     InitControls();
     InvoiceInfoEntityView      = new EIMSInvoiceInfoEntityVM();
     InvoiceInfoEntityViewList  = new List <EIMSInvoiceInfoEntityVM>();
     InvoiceInputExtendViewList = new List <EIMSInvoiceInputExtendVM>();
     this.Facade = new EIMSOrderMgmtFacade();
     this.gridInfo.DataContext = InvoicInputView;
     if (Type == "Input")
     {
         BindInputTxtDataContext();
     }
     else if (Type == "Edit")
     {
         QueryInvoiceInputList();
         //BindEditTxtDataContext();
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 防止两个异步方法同时执行,将编辑发票代码提取出来
        /// </summary>
        private void UpdateEIMSInvoiceInput()
        {
            List <EIMSInvoiceInfoEntityVM> list    = InvoiceInfoEntityViewList;
            List <EIMSInvoiceInfoEntityVM> old     = InvoiceInfoView.OldEIMSList;
            List <EIMSInvoiceInfoEntityVM> newList = new List <EIMSInvoiceInfoEntityVM>();

            //将新增项添加到查询到的数据中
            #region 检测修改项
            for (int i = 0; i < old.Count; i++)
            {
                int count = 0;
                if (list.Count > i)
                {
                    if (list[i].SysNo == old[i].SysNo)
                    {
                        count++;
                    }
                    if (count == 0)
                    {
                        old[i].Status = -1;
                        if (old[i].EIMSInvoiceInputExtendList != null &&
                            old[i].EIMSInvoiceInputExtendList.Count > 0)
                        {
                            for (int j = 0; j < old[i].EIMSInvoiceInputExtendList.Count; j++)
                            {
                                old[i].EIMSInvoiceInputExtendList[j].Status = -1;
                            }
                        }
                    }
                    else
                    {
                        old[i].TaxRate            = list[i].TaxRate;
                        old[i].InvoiceInputAmount = list[i].InvoiceInputAmount;
                        old[i].InvoiceDate        = list[i].InvoiceDate;

                        if (list[i].EIMSInvoiceInputExtendList == null ||
                            list[i].EIMSInvoiceInputExtendList.Count == 0
                            )
                        {
                            old[i].Status = -1;
                        }

                        if (old[i].EIMSInvoiceInputExtendList != null)
                        {
                            for (int j = 0; j < old[i].EIMSInvoiceInputExtendList.Count; j++)
                            {
                                var exSysNo = old[i].EIMSInvoiceInputExtendList[j].SysNo;
                                if (list[i].EIMSInvoiceInputExtendList == null)
                                {
                                    int m = 0;
                                    for (int k = 0; k < list[i].EIMSInvoiceInputExtendList.Count; k++)
                                    {
                                        if (list[i].EIMSInvoiceInputExtendList[i].SysNo == exSysNo)
                                        {
                                            m++;
                                        }
                                    }
                                    if (m == 0)
                                    {
                                        old[i].EIMSInvoiceInputExtendList[j].Status = -1;
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    //如果修改后,发票数量有减少,则让减少的发票状态无效
                    if (old[i].EIMSInvoiceInputExtendList != null)
                    {
                        for (int j = 0; j < old[i].EIMSInvoiceInputExtendList.Count; j++)
                        {
                            old[i].EIMSInvoiceInputExtendList[j].Status = -1;
                        }
                    }
                }
            }
            #endregion

            #region 检测新增项
            list.ForEach(newEntity =>
            {
                if (!old.Select(item => item.SysNo).Contains(newEntity.SysNo))
                {
                    newList.Add(newEntity);
                }
            });
            #endregion

            #region 组织修改项和新增项的数据

            //修改项
            List <EIMSInvoiceInfoEntityVM> editData = new List <EIMSInvoiceInfoEntityVM>(old.Count);

            //新增项
            List <EIMSInvoiceInfoEntityVM> newData = new List <EIMSInvoiceInfoEntityVM>(newList.Count);

            for (int i = 0; i < old.Count; i++)
            {
                EIMSInvoiceInfoEntityVM invoice = new EIMSInvoiceInfoEntityVM();
                editData.Add(old[i]);
            }

            for (int i = 0; i < newList.Count; i++)
            {
                EIMSInvoiceInfoEntityVM invoice = new EIMSInvoiceInfoEntityVM();
                newData.Add(newList[i]);
            }

            if (newData.Count > 0)
            {
                for (int i = 0; i < newData.Count; i++)
                {
                    CheckinvoiceExtend(newData[i].EIMSInvoiceInputExtendList);
                }
            }
            #endregion

            if (newList.Count > 0)
            {
                CreateInvoiceInput(newData, editData);
            }
            else
            {
                UpdateInvoiceInfo(editData);
            }
        }