private AdjustRequestVM ConvertRequestInfoToVM(AdjustRequestInfo info)
        {
            AdjustRequestVM vm = info.Convert <AdjustRequestInfo, AdjustRequestVM>((i, v) =>
            {
                v.StockSysNo        = i.Stock == null ? null : i.Stock.SysNo;
                v.AuditUserSysNo    = i.AuditUser == null ? null : i.AuditUser.SysNo;
                v.CreateUserSysNo   = i.CreateUser == null ? null : i.CreateUser.SysNo;
                v.EditUserSysNo     = i.EditUser == null ? null : i.EditUser.SysNo;
                v.OutStockUserSysNo = i.OutStockUser == null ? null : i.OutStockUser.SysNo;
                v.ProductLineSysno  = i.ProductLineSysno == null ? null : i.ProductLineSysno;
                v.InvoiceInfo       = i.InvoiceInfo.Convert <AdjustRequestInvoiceInfo, AdjustRequestInvoiceVM>();
            });

            if (info.AdjustItemInfoList != null)
            {
                info.AdjustItemInfoList.ForEach(p =>
                {
                    AdjustRequestItemVM item = vm.AdjustItemInfoList.FirstOrDefault(i => i.SysNo == p.SysNo);
                    if (p.AdjustProduct != null)
                    {
                        item.ProductSysNo = p.AdjustProduct.SysNo;
                        item.ProductName  = p.AdjustProduct.ProductBasicInfo.ProductTitle.Content;
                        item.ProductID    = p.AdjustProduct.ProductID;
                    }

                    item.BatchDetailsInfoList = EntityConverter <InventoryBatchDetailsInfo, ProductBatchInfoVM> .Convert(p.BatchDetailsInfoList);
                });
            }
            return(vm);
        }
예제 #2
0
        private void hlbtnProudct_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton     btn = sender as HyperlinkButton;
            AdjustRequestItemVM vm  = btn.DataContext as AdjustRequestItemVM;

            Window.Navigate(String.Format(ConstValue.IM_ProductMaintainUrlFormat, vm.ProductSysNo), null, true);
        }
예제 #3
0
        private void hlbtnDelete_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton     btn = sender as HyperlinkButton;
            AdjustRequestItemVM vm  = btn.DataContext as AdjustRequestItemVM;

            RequestVM.AdjustItemInfoList.Remove(vm);
            this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList;
        }
예제 #4
0
        private void txtAdjustQuantity_TextChanged(object sender, TextChangedEventArgs e)
        {
            TextBox txt = sender as TextBox;

            txt.Text = txt.Text.Trim();
            AdjustRequestItemVM vm = txt.DataContext as AdjustRequestItemVM;

            if (txt.Text != "-" && !Regex.IsMatch(txt.Text, @"^-?[1-9](\d{0,5})$"))
            {
                if (Regex.IsMatch(txt.Text, @"^-?\d+$"))
                {
                    txt.Text = txt.Text.Length > 6 ? txt.Text.Substring(0, 6) : txt.Text;
                }
                else
                {
                    txt.Text = "0";
                    txt.SelectAll();
                }
            }
        }
예제 #5
0
        private void hlbtnEdit_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton     btn      = sender as HyperlinkButton;
            AdjustRequestItemVM selected = btn.DataContext as AdjustRequestItemVM;
            AdjustRequestItemVM seleced  = RequestVM.AdjustItemInfoList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault();

            UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, seleced.HasBatchInfo, seleced.BatchDetailsInfoList);

            batch.IsCreateMode      = false;
            batch.StockSysNo        = RequestVM.StockSysNo;
            batch.ProductSysNo      = selected.ProductSysNo.Value.ToString();
            batch.ProductID         = selected.ProductID;
            batch.OperationQuantity = selected.AdjustQuantity;
            batch.IsNotLend_Return  = true;
            batch.PType             = Models.Request.PageType.Adjust;

            IDialog dialog = Window.ShowDialog("更新明细", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;
                if (productList != null && productList.ProductVM != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        AdjustRequestItemVM vm = null;

                        #region 只允许添加自己权限范围内可以访问商品
                        string errorMessage = "对不起,您没有权限访问{0}商品!";
                        InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                        queryFilter.ProductSysNo         = p.SysNo;
                        queryFilter.UserName             = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
                        queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                        queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;

                        int quantity = 1;
                        if (p.IsHasBatch == 1)
                        {
                            quantity = (from s in p.ProductBatchLst select s.Quantity).Sum();
                        }
                        else if (p.IsHasBatch == 0)
                        {
                            quantity = productList.Quantity;
                        }

                        if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                        {
                            new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                            {
                                if (!innerArgs.FaultsHandle())
                                {
                                    if (!innerArgs.Result)
                                    {
                                        Window.Alert(string.Format(errorMessage, p.ProductID));
                                        return;
                                    }
                                    else
                                    {
                                        vm = new AdjustRequestItemVM
                                        {
                                            ProductSysNo         = p.SysNo,
                                            AdjustQuantity       = quantity,
                                            AdjustCost           = p.UnitCost,
                                            ProductName          = p.ProductName,
                                            ProductID            = p.ProductID,
                                            BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                            IsHasBatch           = p.IsHasBatch,
                                            RequestStatus        = AdjustRequestStatus.Origin
                                        };

                                        RequestVM.AdjustItemInfoList.Remove((AdjustRequestItemVM)this.dgAdjustProduct.SelectedItem);
                                        RequestVM.AdjustItemInfoList.Add(vm);
                                        this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList;
                                    }
                                }
                            });
                        }
                        else
                        {
                            vm = new AdjustRequestItemVM
                            {
                                ProductSysNo         = p.SysNo,
                                AdjustQuantity       = quantity,
                                AdjustCost           = p.UnitCost,
                                ProductName          = p.ProductName,
                                ProductID            = p.ProductID,
                                BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                IsHasBatch           = p.IsHasBatch,
                                RequestStatus        = AdjustRequestStatus.Origin
                            };
                            RequestVM.AdjustItemInfoList.Remove((AdjustRequestItemVM)this.dgAdjustProduct.SelectedItem);
                            RequestVM.AdjustItemInfoList.Add(vm);
                            this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList;
                        }

                        #endregion
                    });
                }
            });

            batch.DialogHandler = dialog;
        }
예제 #6
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (RequestVM.StockSysNo == null || RequestVM.StockSysNo <= 0)
            {
                Window.Alert("请选择渠道仓库");
                return;
            }
            if (RequestVM != null && RequestVM.AdjustItemInfoList != null && RequestVM.AdjustItemInfoList.Count >= 1)
            {
                Window.Alert("每张损益单只能添加一个商品");
                return;
            }

            UCProductBatch batch = new UCProductBatch();

            batch.IsCreateMode     = true;
            batch.StockSysNo       = RequestVM.StockSysNo;
            batch.PType            = Models.Request.PageType.Adjust;
            batch.IsNotLend_Return = true;

            IDialog dialog = Window.ShowDialog("添加明细", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;
                if (productList != null && productList.ProductVM != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        AdjustRequestItemVM vm = RequestVM.AdjustItemInfoList.FirstOrDefault(item =>
                        {
                            return(item.ProductSysNo == p.SysNo);
                        });
                        if (vm == null)
                        {
                            #region 只允许添加自己权限范围内可以访问商品
                            string errorMessage = "对不起,您没有权限访问{0}商品!";
                            InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                            queryFilter.ProductSysNo         = p.SysNo;
                            queryFilter.UserName             = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
                            queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                            queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;

                            int quantity = 1;
                            if (p.IsHasBatch == 1)
                            {
                                quantity = (from s in p.ProductBatchLst select s.Quantity).Sum();
                            }
                            else if (p.IsHasBatch == 0)
                            {
                                quantity = productList.Quantity;
                            }

                            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                            {
                                new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                                {
                                    if (!innerArgs.FaultsHandle())
                                    {
                                        if (!innerArgs.Result)
                                        {
                                            Window.Alert(string.Format(errorMessage, p.ProductID));
                                            return;
                                        }
                                        else
                                        {
                                            vm = new AdjustRequestItemVM
                                            {
                                                ProductSysNo         = p.SysNo,
                                                AdjustQuantity       = quantity,
                                                AdjustCost           = p.UnitCost,
                                                ProductName          = p.ProductName,
                                                ProductID            = p.ProductID,
                                                BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                                IsHasBatch           = p.IsHasBatch,
                                                RequestStatus        = AdjustRequestStatus.Origin
                                            };
                                            RequestVM.AdjustItemInfoList.Add(vm);
                                            this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList;
                                        }
                                    }
                                });
                            }
                            else
                            {
                                vm = new AdjustRequestItemVM
                                {
                                    ProductSysNo         = p.SysNo,
                                    AdjustQuantity       = quantity,
                                    AdjustCost           = p.UnitCost,
                                    ProductName          = p.ProductName,
                                    ProductID            = p.ProductID,
                                    BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                    IsHasBatch           = p.IsHasBatch,
                                    RequestStatus        = AdjustRequestStatus.Origin
                                };
                                RequestVM.AdjustItemInfoList.Add(vm);
                                this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList;
                            }

                            #endregion
                        }
                        else
                        {
                            Window.Alert(string.Format("已存在编号为{0}的商品.", p.SysNo));
                        }
                    });
                }
            });

            batch.DialogHandler = dialog;
        }