private void hlbtnDelete_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton      btn = sender as HyperlinkButton;
            ConvertRequestItemVM vm  = btn.DataContext as ConvertRequestItemVM;

            ItemList.Remove(vm);
            RequestItemList.Remove(vm);
            dgProductList.ItemsSource = ItemList;
            SetTotalCost();
        }
        private void hlbtnEdit_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton      btn      = sender as HyperlinkButton;
            ConvertRequestItemVM selected = this.dgProductList.SelectedItem as ConvertRequestItemVM;
            ConvertRequestItemVM seleced  = RequestItemList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault();

            #region Dialog

            UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, seleced.HasBatchInfo, seleced.BatchDetailsInfoList);
            batch.IsCreateMode      = false;
            batch.PType             = Models.Request.PageType.Convert;
            batch.IsNotLend_Return  = true;
            batch.StockSysNo        = RequestVM.StockSysNo;
            batch.ProductSysNo      = selected.ProductSysNo.Value.ToString();
            batch.ProductID         = selected.ProductID;
            batch.OperationQuantity = seleced.ConvertQuantity;
            batch.ConverterCost     = seleced.ConvertUnitCost;
            batch.ConvertType       = this.ConvertType;

            IDialog dialog = CurrentWindow.ShowDialog("批次信息", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;

                if (null != productList && productList.ProductVM != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        ConvertRequestItemVM vm = RequestItemList.FirstOrDefault(item =>
                        {
                            return(item.ProductSysNo == p.SysNo);
                        });
                        if (vm == null)
                        {
                            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;
                            //判断改商品是否属于当前PM

                            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))
                            {
                                InventoryQueryFacade.CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                                {
                                    if (!innerArgs.FaultsHandle())
                                    {
                                        if (!innerArgs.Result)
                                        {
                                            Page.Context.Window.Alert(string.Format(errorMessage, p.ProductID));
                                            return;
                                        }
                                        else
                                        {
                                            vm = new ConvertRequestItemVM
                                            {
                                                ProductSysNo              = p.SysNo,
                                                ConvertQuantity           = quantity,
                                                ConvertType               = ConvertType,
                                                ConvertUnitCost           = p.UnitCost,
                                                ConvertUnitCostWithoutTax = p.UnitCostWithoutTax,
                                                ProductName               = p.ProductName,
                                                ProductID            = p.ProductID,
                                                BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                                IsHasBatch           = p.IsHasBatch,
                                                RequestStatus        = ConvertRequestStatus.Origin
                                            };
                                            vm.QuantityOrCostChanged = SetTotalCost;
                                            ItemList.Add(vm);
                                            RequestItemList.Add(vm);
                                            dgProductList.ItemsSource = ItemList;
                                            SetTotalCost();
                                        }
                                    }
                                });
                            }
                            else
                            {
                                vm = new ConvertRequestItemVM
                                {
                                    ProductSysNo              = p.SysNo,
                                    ConvertQuantity           = quantity,
                                    ConvertType               = ConvertType,
                                    ConvertUnitCost           = p.UnitCost,
                                    ConvertUnitCostWithoutTax = p.UnitCostWithoutTax,
                                    ProductName               = p.ProductName,
                                    ProductID            = p.ProductID,
                                    BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                    IsHasBatch           = p.IsHasBatch,
                                    RequestStatus        = ConvertRequestStatus.Origin
                                };
                                vm.QuantityOrCostChanged = SetTotalCost;
                                ItemList.Add(vm);
                                RequestItemList.Add(vm);
                                dgProductList.ItemsSource = ItemList;
                                SetTotalCost();
                            }
                        }
                        else
                        {
                            Page.Context.Window.Alert(String.Format(vm.ConvertType == ConvertProductType.Source ? "商品:{0},已经存在于源商品中" : "商品:{0},已经存在于目标商品中", vm.ProductID));
                        }
                    });
                }
            });

            batch.DialogHandler = dialog;

            #endregion

            SetTotalCost();
        }
Exemplo n.º 3
0
        public static void handlePacket(GameClient client, byte[] buff)
        {
            byte   id     = buff[0];
            string cninfo = "handlepacket: request " + id.ToString("x2") + " size " + buff.Length;

            string str = "header: " + buff[0].ToString("x2") + "\n";

            foreach (byte b in buff)
            {
                str += b.ToString("x2") + " ";
            }

            Console.WriteLine(str);
            //File.WriteAllText("header_" + buff[0].ToString("x2")+".txt", str);


            GameServerNetworkRequest msg = null;

            switch (id)
            {
            case 0x00:
                msg = new ProtocolVersion(client, buff);
                break;

            case 0x08:
                msg = new AuthLogin(client, buff);
                break;

            case 0x09:
                msg = new Logout(client, buff);
                break;

            case 0x0b:
                msg = new CharacterCreate(client, buff);
                break;

            //case 0x0c:
            //    msg = new CharacterDelete(client, buff);
            //    break;
            case 0x0d:
                msg = new CharacterSelected(client, buff);
                break;

            case 0x0e:
                msg = new NewCharacter(client, buff);
                break;
            //case 0x62:
            //    msg = new CharacterRestore(client, buff);
            //    break;
            //case 0x68:
            //    msg = new RequestPledgeCrest(client, buff);
            //    break;

            //case 0x0c:
            //    msg = new CharacterCreate(client, buff);
            //    break;
            //case 0x00:
            //    msg = new ProtocolVersion(client, buff);
            //    break;
            //case 0x09:
            //    msg = new RequestSetPledgeCrest(client, buff);
            //    break;
            case 0x01:
                msg = new MoveBackwardToLocation(client, buff);
                break;

            case 0x03:
                msg = new EnterWorld(client, buff);
                break;

            case 0x0f:
                msg = new RequestItemList(client, buff);
                break;

            case 0x11:
                msg = new RequestUnEquipItem(client, buff);
                break;

            case 0x14:
                msg = new RequestUseItem(client, buff);
                break;

            case 0x1A:
                msg = new RequestStartTrade(client, buff);
                break;

            case 0x16:
                msg = new RequestAddTradeItem(client, buff);
                break;

            case 0x17:
                msg = new RequestTradeDone(client, buff);
                break;

            case 0x04:
                msg = new RequestAction(client, buff);
                break;

            case 0x20:
                msg = new RequestLinkHtml(client, buff);
                break;

            case 0x21:
                msg = new RequestBypassToServer(client, buff);
                break;

            case 0x26:
                msg = new RequestWithdrawalPledge(client, buff);
                break;

            case 0x8c:
                msg = new RequestGetItemFromPet(client, buff);
                break;

            case 0x1b:
                msg = new RequestSocialAction(client, buff);
                break;

            case 0x1e:
                msg = new RequestSellItem(client, buff);
                break;

            case 0x2f:
                msg = new RequestMagicSkillUse(client, buff);
                break;

            case 0x30:
                msg = new Appearing(client, buff);
                break;

            case 0x3B:
                msg = new RequestWarehouseDeposit(client, buff);
                break;

            case 0x32:
                msg = new RequestWarehouseWithdraw(client, buff);
                break;

            case 0x33:
                msg = new RequestShortCutReg(client, buff);
                break;

            case 0x35:
                msg = new RequestShortCutDel(client, buff);
                break;

            case 0x1f:
                msg = new RequestBuyItem(client, buff);
                break;

            case 0x29:
                msg = new RequestJoinParty(client, buff);
                break;

            case 0x2a:
                msg = new RequestAnswerJoinParty(client, buff);
                break;

            case 0x2b:
                msg = new RequestWithDrawalParty(client, buff);
                break;

            case 0x2c:
                msg = new RequestOustPartyMember(client, buff);
                break;

            case 0x36:
                msg = new CannotMoveAnymore(client, buff);
                break;

            case 0x37:
                msg = new RequestTargetCanceld(client, buff);
                break;

            case 0x38:
                msg = new Say2(client, buff);
                break;

            case 0x42:
                msg = new RequestGetOnVehicle(client, buff);
                break;

            case 0x43:
                msg = new RequestGetOffVehicle(client, buff);
                break;

            case 0x44:
                msg = new AnswerTradeRequest(client, buff);
                break;

            case 0x45:
                msg = new RequestActionUse(client, buff);
                break;

            case 0x46:
                msg = new RequestRestart(client, buff);
                break;

            case 0x48:
                msg = new ValidatePosition(client, buff);
                break;

            case 0x4a:
                msg = new StartRotating(client, buff);
                break;

            case 0x4b:
                msg = new FinishRotating(client, buff);
                break;

            case 0x57:
                msg = new RequestShowBoard(client, buff);
                break;

            case 0x58:
                msg = new RequestEnchantItem(client, buff);
                break;

            case 0x59:
                msg = new RequestDestroyItem(client, buff);
                break;

            case 0x64:
                msg = new RequestQuestAbort(client, buff);
                break;

            case 0x66:
                msg = new RequestPledgeInfo(client, buff);
                break;

            case 0xcd:
                msg = new RequestShowMiniMap(client, buff);
                break;

            case 0x6D:
                msg = new RequestSendMsnChatLog(client, buff);
                break;

            case 0xcf:
                msg = new RequestRecordInfo(client, buff);
                break;

            case 0x73:
                msg = new RequestAcquireSkillInfo(client, buff);
                break;

            case 0x74:
                msg = new SendBypassBuildCmd(client, buff);
                break;

            case 0x75:
                msg = new RequestMoveToLocationInVehicle(client, buff);
                break;

            case 0x7C:
                msg = new RequestAcquireSkill(client, buff);
                break;

            case 0x7D:
                msg = new RequestRestartPoint(client, buff);
                break;

            case 0x80:
                msg = new RequestPartyMatchList(client, buff);
                break;

            case 0x85:
                msg = new RequestTutorialLinkHtml(client, buff);
                break;

            case 0x86:
                msg = new RequestTutorialPassCmdToServer(client, buff);
                break;
            //  case 0x87:
            //      msg = new RequestTutorialQuestionMark();
            //     break;

            case 0x93:
                msg = new RequestChangePetName(client, buff);
                break;

            case 0x94:
                msg = new RequestPetUseItem(client, buff);
                break;

            case 0x95:
                msg = new RequestGiveItemToPet(client, buff);
                break;

            case 0xB0:
                msg = new MultiSellChoose(client, buff);
                break;

            case 0xB1:
                msg = new NetPingResponse(client, buff);
                break;

            case 0xaa:
                msg = new BypassUserCmd(client, buff);
                break;

            case 0xB5:
                msg = new RequestRecipeBookOpen(client, buff);
                break;

            case 0xB6:
                msg = new RequestRecipeBookDestroy(client, buff);
                break;

            case 0xB7:
                msg = new RequestRecipeItemMakeInfo(client, buff);
                break;

            case 0xB8:
                msg = new RequestRecipeItemMakeSelf(client, buff);
                break;

            case 0xC1:
                msg = new ObserverReturn(client, buff);
                break;

            case 0xC7:
                msg = new RequestWearItem(client, buff);
                break;

            case 0xD0:
                byte id2 = buff[1];
                cninfo = "handlepacket: request unk id2 " + id2.ToString("x2") + " size " + buff.Length;
                switch (id2)
                {
                case 8:
                    msg = new RequestManorList(client, buff);
                    break;

                case 0x11:
                    msg = new RequestExSetPledgeCrestLarge(client, buff);
                    break;

                case 5:
                    msg = new RequestAutoSoulShot(client, buff);
                    break;

                case 0x16:
                    msg = new RequestPledgeMemberInfo(client, buff);
                    break;


                case 0x1E:
                    msg = new RequestExRqItemLink(client, buff);
                    break;

                case 0x24:
                    msg = new RequestSaveInventoryOrder(client, buff);
                    break;

                case 0x22:
                    msg = new RequestCursedWeaponList(client, buff);
                    break;

                case 0x4B:
                    msg = new RequestDispel(client, buff);
                    break;

                case 0x4C:
                    msg = new RequestExTryToPutEnchantTargetItem(client, buff);
                    break;

                case 0x4D:
                    msg = new RequestExTryToPutEnchantSupportItem(client, buff);
                    break;

                case 0x4E:
                    msg = new RequestExCancelEnchantItem(client, buff);
                    break;

                //case 0x51:
                //    byte id3 = buff[3];
                //    cninfo = "handlepacket: request unk id3 " + id3.ToString("x2") + " size " + buff.Length;

                //    switch (id3)
                //    {
                //        case 0:
                //            msg = new RequestBookMarkSlotInfo(client, buff);
                //            break;
                //        case 1:
                //            msg = new RequestSaveBookMarkSlot(client, buff);
                //            break;
                //        case 2:
                //            msg = new RequestModifyBookMarkSlot(client, buff);
                //            break;
                //        case 3:
                //            msg = new RequestDeleteBookMarkSlot(client, buff);
                //            break;
                //        case 4:
                //            msg = new RequestTeleportBookMark(client, buff);
                //            break;
                //    }
                //    break;

                case 0x58:
                    msg = new RequestDominionInfo(client, buff);
                    break;

                case 0x65:
                    msg = new RequestPostItemList(client, buff);
                    break;

                case 0x67:
                    msg = new RequestReceivedPostList(client, buff);
                    break;

                case 0x69:
                    msg = new RequestReceivedPost(client, buff);
                    break;

                case 0x6C:
                    msg = new RequestSentPostList(client, buff);
                    break;

                case 0x6E:
                    msg = new RequestSentPost(client, buff);
                    break;

                case 0x76:
                    msg = new RequestBuySellUIClose(client, buff);
                    break;

                case 0x78:
                    msg = new RequestPartyLootModification(client, buff);
                    break;

                case 0x79:
                    msg = new AnswerPartyLootModification(client, buff);
                    break;

                case 0x7F:
                    msg = new RequestBR_GamePoint(client, buff);
                    break;

                case 0x80:
                    msg = new RequestBR_ProductList(client, buff);
                    break;

                case 0x81:
                    msg = new RequestBR_ProductInfo(client, buff);
                    break;

                case 0x82:
                    msg = new RequestBR_BuyProduct(client, buff);
                    break;

                case 0x83:
                    msg = new RequestBR_RecentProductList(client, buff);
                    break;

                case 0x84:
                    msg = new RequestBR_MinigameLoadScores(client, buff);
                    break;

                case 0x85:
                    msg = new RequestBR_MinigameInsertScore(client, buff);
                    break;

                default:
                    // out_debug(2, buff);
                    break;
                }
                break;

            default:
                //  out_debug(1, buff);
                break;
            }
            // Console.WriteLine(cninfo + ", " + cnt);
            if (msg == null)
            {
                Console.WriteLine(cninfo + ", " + cnt);

                //   out_debug(0, buff);
                //  cnt++;
                return;
            }

            if (msg.Client.IsTerminated)
            {
                return;
            }

            new Thread(new ThreadStart(msg.run)).Start();
        }
Exemplo n.º 4
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (!PreCheckAddProduct(RequestVM))
            {
                return;
            }

            UCProductBatch batch = new UCProductBatch();

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

            IDialog dialog = Window.ShowDialog("添加明细", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;
                if (productList != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        LendRequestItemVM vm = RequestItemList.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 LendRequestItemVM
                                            {
                                                ProductSysNo         = p.SysNo,
                                                LendQuantity         = quantity,
                                                ProductName          = p.ProductName,
                                                ProductID            = p.ProductID,
                                                PMUserName           = p.PMUserName,
                                                ReturnDateETA        = productList.ReturnDate,
                                                BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                                IsHasBatch           = p.IsHasBatch
                                            };
                                            RequestItemList.Add(vm);
                                            ucLendProductList.dgProductList.ItemsSource = RequestItemList;
                                        }
                                    }
                                });
                            }
                            else
                            {
                                vm = new LendRequestItemVM
                                {
                                    ProductSysNo         = p.SysNo,
                                    LendQuantity         = quantity,
                                    ProductName          = p.ProductName,
                                    ProductID            = p.ProductID,
                                    PMUserName           = p.PMUserName,
                                    ReturnDateETA        = productList.ReturnDate,
                                    BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                    IsHasBatch           = p.IsHasBatch
                                };
                                RequestItemList.Add(vm);
                                ucLendProductList.dgProductList.ItemsSource = RequestItemList;
                            }

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

            batch.DialogHandler = dialog;
        }