Exemplo n.º 1
0
        /// <summary>处理町集合信息</summary>
        private void TingInfoUpdate(Int64 userid, IEnumerable <int> tingids)
        {
            foreach (var item in tingids)
            {
                var baseting   = Variable.BASE_TING.FirstOrDefault(m => m.id == item);
                var ting_enter = tg_user_ting.GetEntityByUserIdTingId(userid, item);

                if (baseting == null)
                {
                    continue;
                }
                if (ting_enter == null || ting_enter.id == 0)
                {
                    var ting = new tg_user_ting()
                    {
                        user_id = userid,
                        ting_id = item,
                        state   = (int)CityVisitType.VISIT,
                        area_id = baseting.areaId
                    };
                    ting.Insert();
                    InsertGoods(item, userid);  //插入tg_goods_item货物信息
                }
                else
                {
                    var num = GetBaseGoodsNum(ting_enter.ting_id);
                    //这个町还没有货物 插入货物
                    if (tg_goods_item.GetFindByTingIdUserId(ting_enter.ting_id, ting_enter.user_id) < num)
                    {
                        InsertGoods(ting_enter.ting_id, userid);
                    }
                    if (ting_enter.state == (int)CityVisitType.VISIT)       //町状态验证
                    {
                        return;
                    }

                    ting_enter.state = (int)CityVisitType.VISIT;            //更新町为已访问状态
                    ting_enter.Update();
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>进入町公共方法</summary>
        public ASObject EnterTing(Int64 userid, int tingid)
        {
            var ting_enter = tg_user_ting.GetEntityByUserIdTingId(userid, tingid);

            if (ting_enter == null || ting_enter.id == 0)
            {
                var base_ting = Variable.BASE_TING.FirstOrDefault(m => m.id == tingid);
                if (base_ting == null)
                {
                    return(new ASObject(EnterTingBuildData((int)ResultType.BASE_TABLE_ERROR)));
                }

                var ting = new tg_user_ting
                {
                    user_id = userid,
                    ting_id = tingid,
                    state   = (int)CityVisitType.VISIT,
                    area_id = base_ting.areaId
                };
                ting.Insert();
                InsertGoods(ting.ting_id, ting.user_id); //插入tg_goods_item货物信息
            }
            else
            {
                var num = GetBaseGoodsNum(ting_enter.ting_id);
                //这个町还没有货物 插入货物
                if (tg_goods_item.GetFindByTingIdUserId(ting_enter.ting_id, ting_enter.user_id) < num)
                {
                    InsertGoods(ting_enter.ting_id, userid);
                }
                if (ting_enter.state == (int)CityVisitType.VISIT)       //町状态验证
                {
                    return(new ASObject(EnterTingBuildData((int)ResultType.SUCCESS)));
                }

                ting_enter.state = (int)CityVisitType.VISIT;            //更新町为已访问状态
                ting_enter.Update();
            }
            return(new ASObject(EnterTingBuildData((int)ResultType.SUCCESS)));
        }