Esempio n. 1
0
    /// <summary>
    /// 返回寄售列表
    /// </summary>
    /// <param name="cmd"></param>
    public void OnResponItemListConsignment(stResponItemListConsignmentUserCmd_S cmd)
    {
        //处理页数
        switch (ReqItemListState)
        {
        case ReqConsignListState.PreviousPage:
            CurPage = CurPage > 1 ? CurPage - 1 : 1;
            break;

        case ReqConsignListState.NextPage:
            CurPage += 1;
            break;

        default:
            CurPage = 1;
            break;
        }
        ReqItemListState = ReqConsignListState.None;
        BeginIndex       = (int)cmd.begin_index;
        EndIndex         = cmd.end_index;
        AllPage          = cmd.all_item;
        if (cmd.init_page)
        {
            CurPage = 1;
        }
        pageConsignmentItemLists.Clear();
        if (cmd.item_list.Count == cmd.item_data.Count)
        {
            ItemSerialize itemData = new ItemSerialize();
            for (int i = 0; i < cmd.item_data.Count; i++)
            {
                if (cmd.item_data[i] != null)
                {
                    itemData = ItemSerialize.Deserialize(cmd.item_data[i]);
                    ConsignmentItem consignment = new ConsignmentItem(cmd.item_list[i].market_id, cmd.item_list[i], itemData);
                    pageConsignmentItemLists.Add(consignment);
                }
            }
        }
        else
        {
            //堆叠物品  下发的itemList和ItemData不对等  需要自己赋值
            ItemSerialize itemData = new ItemSerialize();
            Dictionary <uint, ItemSerialize> tempDic = new Dictionary <uint, ItemSerialize>();
            for (int i = 0; i < cmd.item_data.Count; i++)
            {
                if (cmd.item_data[i] != null)
                {
                    itemData = ItemSerialize.Deserialize(cmd.item_data[i]);
                    if (itemData != null)
                    {
                        if (!tempDic.ContainsKey(itemData.dwObjectID))
                        {
                            tempDic.Add(itemData.dwObjectID, itemData);
                        }
                    }
                }
            }

            for (int i = 0; i < cmd.item_list.Count; i++)
            {
                if (cmd.item_list[i] != null)
                {
                    if (tempDic.ContainsKey(cmd.item_list[i].item_base_id))
                    {
                        ConsignmentItem consignment = new ConsignmentItem(cmd.item_list[i].market_id, cmd.item_list[i], tempDic[cmd.item_list[i].item_base_id]);
                        pageConsignmentItemLists.Add(consignment);
                    }
                }
            }
        }
        pageConsignmentItemLists.Sort(CompareConsignment);
        DispatchValueUpdateEvent(new ValueUpdateEventArgs(SaleItemDispatchEvents.RefreshSaleItemInfo.ToString(), null, null));
    }
Esempio n. 2
0
 public void OnResponItemListConsignment(stResponItemListConsignmentUserCmd_S cmd)
 {
     DataManager.Manager <ConsignmentManager>().OnResponItemListConsignment(cmd);
 }