//Работает private OutputSocketMessageWithUsers creategroup(Object val, Guid myPublicLogin) { #region Тестовые данные /* * { * "execFun": "createGroup", * "data": { * "groupName": "MeCloseGroup", * "public_id": "48A0CA0657DE4FB09CDC86008B2A8EBE" * } * } */ #endregion OutputSocketMessage output = new OutputSocketMessage("createGroup", true, "", new { }); OutputSocketMessageWithUsers rez = new OutputSocketMessageWithUsers(); GroupInfo info = DeserObj <GroupInfo>(val, output, out rez); if (info == null) { return(rez); } using (var db = new CloudChatEntities()) { Guid owner = db.usp_membersSelect(myPublicLogin).First().private_id; db.usp_groupsInsert(info.public_id, info.name, owner, "", Guid.Empty); db.usp_group_membersInsert(info.public_id, owner, "allow_or_deny"); } output.data = new { id = info.public_id, name = info.name }; rez.msgForOwner = output; //rez.usersId.Add(info.login); return(rez); }
//Работает private OutputSocketMessageWithUsers addmemberingroup(Object val, Guid myPublicLogin) { #region Тестовые данные /* * { * "execFun": "addMemberInGroup", * "data": { * "memberLogin": "******", * "groupId": "48A0CA0657DE4FB09CDC86008B2A8EBE" * } * } */ #endregion OutputSocketMessage output = new OutputSocketMessage("addMemberInGroup", true, "", new { }); OutputSocketMessageWithUsers rez = new OutputSocketMessageWithUsers(); AddMemberInGroupInfo info = DeserObj <AddMemberInGroupInfo>(val, output, out rez); if (info == null) { return(rez); } using (var db = new CloudChatEntities()) { if (db.members.Any(it => it.login.Equals(info.memberLogin.Trim(), StringComparison.CurrentCultureIgnoreCase))) { Guid owner = db.members.First(it => it.public_id == myPublicLogin).private_id; if (db.group_members.Any(it => it.member_id == owner && it.group_id == info.groupId)) { members user = db.members.FirstOrDefault(it => it.login.Equals(info.memberLogin.Trim())); if (db.group_members.Any(it => it.group_id == info.groupId && it.member_id == user.private_id)) { output.success = false; output.msgError = "This user already consists in this group"; } else { db.usp_group_membersInsert(info.groupId, user.private_id, "I don't known"); rez.usersId.Add(user.public_id); rez.msgForOther = new { callFunction = "addMemberInGroup", id = info.groupId, name = db.groups.Where(it => it.group_id == info.groupId).First().group_name_part }; } } else { output.success = false; output.msgError = "Group is not found"; } } else { output.success = false; output.msgError = "User is not found"; } } rez.msgForOwner = output; return(rez); }