/// <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))); }
/// <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); }
/// <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); //推送协议 }
/// <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), }); }
/// <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, }); }
/// <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, }); }
/// <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); }
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); }