コード例 #1
0
        /// <summary>返回玩家家族信息</summary>
        public ASObject SuccessResult(tg_family family, tg_family_member member)
        {
            var rank       = GetRanking(family);
            var userextend = tg_user_extend.GetByUserId(member.userid);
            var familyvo   = FamilyInfo(family, rank, userextend);

            return(new ASObject(BuilData((int)ResultType.SUCCESS, familyvo)));
        }
コード例 #2
0
        /// <summary>家族排名</summary>
        public int GetRanking(tg_family familymyself)
        {
            var list        = tg_family.GetAllById();
            var list_rank   = list.OrderByDescending(m => m.family_level).ThenByDescending(m => m.time).ToList(); //家族排序
            var family_rank = list_rank.FirstOrDefault(m => m.id == familymyself.id);
            var rank        = list_rank.IndexOf(family_rank);                                                     //排名

            rank = rank + 1;
            return(rank);
        }
コード例 #3
0
        /// <summary>接收邀请</summary>
        public void CommandStart(TGGSession session, tg_family family, TGGSession sessionb)
        {
            try
            {
# if DEBUG
                XTrace.WriteLine("{0}:{1}", "FAMILY_INVITE_RECEIVE", "接收邀请");
#endif
                var invitereceivevo = EntityToVo.ToInviteReceiveVo(family, sessionb.Player.User);
                var aso             = new ASObject(BuilData(invitereceivevo));
                FamilySend(session, aso);  //推送协议
            }
コード例 #4
0
ファイル: EntityToVo.cs プロジェクト: Lantnr/MyTest
 /// <summary> tg_family and user 组装InviteReceiveVo</summary>
 /// <param name="model">家族实体</param>
 /// <param name="user">用户实体</param>
 /// <returns>前端InviteReceiveVo</returns>
 public static InviteReceiveVo ToInviteReceiveVo(tg_family model, tg_user user)
 {
     return(new InviteReceiveVo()
     {
         id = model.id,
         familyId = (int)model.id,
         userName = user.player_name,
         familyName = model.family_name,
         userId = Convert.ToInt32(user.id),
     });
 }
コード例 #5
0
ファイル: EntityToVo.cs プロジェクト: Lantnr/MyTest
 /// <summary>组装FamilyListVo</summary>
 /// <param name="model">家族实体</param>
 /// <param name="state">申请家族状态</param>
 /// <param name="chiefname">族长名字</param>
 /// <returns>前端FamilyListVo</returns>
 public static FamilyListVo ToFamilyListVo(tg_family model, int state, string chiefname)
 {
     return(new FamilyListVo()
     {
         id = model.id,
         clanbadge = model.clanbadge,
         familyName = model.family_name,
         familyLevel = model.family_level,
         chairmanName = chiefname,
         memberValue = model.number,
         state = state,
     });
 }
コード例 #6
0
ファイル: EntityToVo.cs プロジェクト: Lantnr/MyTest
 /// <summary>组装FamilyVo</summary>
 /// <param name="model">家族实体</param>
 /// <param name="ranking">排名</param>
 /// <param name="list_member_vo">家族成员实体集合</param>
 /// <param name="userextend">用户拓展实体</param>
 /// <returns>前端FamilyVo</returns>
 public static FamilyVo ToFamilyVo(tg_family model, int ranking, List <FamilyMemberVo> list_member_vo, tg_user_extend userextend)
 {
     return(new FamilyVo()
     {
         id = model.id,
         name = model.family_name,
         level = model.family_level,
         rankings = ranking,
         number = model.number,
         resource = model.resource,
         renown = model.renown,
         notice = model.notice,
         clanbadge = model.clanbadge,
         familyMemberArrVo = list_member_vo,
         daySalary = userextend.daySalary,
         dayDonate = userextend.donate,
     });
 }
コード例 #7
0
        /// <summary>
        /// 组装家族vo
        /// </summary>
        /// <param name="familymyself">家族信息</param>
        /// <param name="ranking">排名</param>
        /// <returns></returns>
        public FamilyVo FamilyInfo(tg_family familymyself, int ranking, tg_user_extend userextend)
        {
            var list_member = new List <FamilyMemberVo>();
            var list        = view_user_role_family_member.GetAllById(familymyself.id); //家族成员信息
            var loglist     = new List <tg_user_login_log>();

            if (list.Count > 0)
            {
                if (list.Count == 1)
                {
                    var userid = list[0].userid;
                    loglist.Add(tg_user_login_log.GetLoginLogById(userid));
                }
                else
                {
                    var userids = string.Join(",", list.ToList().Select(m => m.userid).ToArray());
                    loglist = tg_user_login_log.GetLoginLogByIds(userids);
                }
            }
            foreach (var fm in list) //家族成员登陆时间
            {
                foreach (var log in loglist)
                {
                    if (fm.userid != log.user_id)
                    {
                        continue;
                    }
                    if (Variable.OnlinePlayer.ContainsKey(fm.userid))
                    {
                        decimal debarktime = (log.logout_time - 621355968000000000) / 10000;
                        list_member.Add(EntityToVo.ToFamilyMemberVo(1, fm, debarktime));
                    }
                    else
                    {
                        decimal debarktime = (log.logout_time - 621355968000000000) / 10000;
                        list_member.Add(EntityToVo.ToFamilyMemberVo(0, fm, debarktime));
                    }
                }
            }
            var familyvo = EntityToVo.ToFamilyVo(familymyself, ranking, list_member, userextend);

            return(familyvo);
        }
コード例 #8
0
        private tg_family CreateFamily(string name, tg_user user, string notice)
        {
            BaseFamilyLevel baseFamily = Variable.BASE_FAMILYLEVEL.FirstOrDefault(m => m.level == 1);
            //创建家族
            var family = new tg_family()
            {
                family_name  = name,
                userid       = user.id,
                notice       = notice,
                family_level = 1,
                clanbadge    = 1001, //族徽默认值
                number       = 1,
                renown       = 0,
                resource     = 0,
                salary       = baseFamily.daySalary,
            };

            return(family);
        }