public bool joinParty(int uid, int partyId) { var p = db.Parties.Find(partyId); if (p == null) { return(false); } if (p.party_status != 0) { return(false); } if (p.current_num >= p.party_num) { return(false); } var res = (from m in db.PartyMems where m.party_id == partyId && m.user_id == uid select m).Count(); if (res != 0) { return(false); } PartyMem newMem = new PartyMem(); newMem.is_leader = 0; newMem.user_id = uid; newMem.party_id = partyId; db.PartyMems.Add(newMem); db.SaveChanges(); return(true); }
public int createParty(int uid, PublishReq req) { Party newParty = new Party(); newParty.pubtime = DateTime.Now; newParty.party_name = req.title; newParty.party_desc = req.desc; newParty.party_type = req.type; newParty.party_connection = req.connection; newParty.party_aim = req.aim; if (req.noob) { newParty.party_noob = 1; } else { newParty.party_noob = 0; } if (req.longterm) { newParty.party_longterm = 1; } else { newParty.party_longterm = 0; } newParty.party_game = req.game; newParty.party_status = 0; newParty.party_num = req.num; newParty.current_num = 0; try { var maxID = (from x in db.Parties select x.party_id).Max() + 1; newParty.party_id = maxID; var newMem = new PartyMem(); newMem.party_id = maxID; newMem.user_id = uid; newMem.is_leader = 1; db.Parties.Add(newParty); db.PartyMems.Add(newMem); db.SaveChanges(); return(maxID); }catch (Exception e) { return(-1); } }