add user to group
سلام
چجوری میشه توی قسمت ایجاد گروه جدید کاربرانی که لاگین کردن بگیرم و هرکدام که مربوط به اون گروهن رو بهش اضافه کنم ؟؟؟
پاسخ ها
محمد اشرافی
سلام
برای این کار شما باید لیست کاربران رو از دیتابیس بگیرید با یه حلقه توی View نمایش بدین ، برای هر کاربر یه Checkbox بزارید و id کاربر رو بزارین برای مقدار checkbox
بعد یه لیست از long رو ارسال می کنید به سمت سرور بعد با متد IsUserInGroup چک کنید که اگر کاربر عضو گروه نبود با متد JoinGroup کاربر را عضو گروه کنید
مثال :
public async Task CreateGroup([FromForm] CreateGroupViewModel model)
{
model.UserId = User.GetUserId();
var result = await _chatGroup.InsertGroup(model);
//model.users= list<long>
foreach (var userId in model.users)
{
if (!IsUserInGroup(userId))
{
JoinGroup(userId, groupId);
await _chatHub.Clients.User(userId.ToString()).SendAsync("NewGroup", result.GroupTitle,result.ImageName,...);
}
}
}
public async Task<Guid> CreateChatRoom(string ConnectionId)
{
var existChatRoom = _context.ChatRooms.SingleOrDefault(p => p.ConnectionId == ConnectionId);
if (existChatRoom != null)
{
return await Task.FromResult(existChatRoom.Id);
}
Chat chatRoom = new Chat()
{
ConnectionId = ConnectionId,
Id = Guid.NewGuid(),
};
_context.ChatRooms.Add(chatRoom);
_context.SaveChanges();
return await Task.FromResult(chatRoom.Id);
}
من با کانکشن ای دی کاربر اون رو میگیرم چطور باید یوزر ای دی اضاف کنم بش
محمد اشرافی
یک فیلد UserId اضافه کنید به مدل اصلی تون ( توی آموزش هم انجامش دادیم )
برای چی با کانکشن آی دی این کار رو می کنید خوب ؟!
برای ثبت پاسخ باید خود شوید