public void Connect(string userName, string userPw) { if (Gruplar.GrupListesi.Count == 0) { Gruplar.GrupListesi = Gruplar.GrupYukle(); } var id = Context.ConnectionId; if (ConnectedUsers.Count(x => x.ConnectionId == id) == 0) { DBControls.LoginClass loginSonuc = DBControls.SQLLoginControl(userName, userPw); if (loginSonuc.durum == true) { DBControls.UserDetail yeniUser = DBControls.GetUserInfo(userName, id); ConnectedUsers.Add(yeniUser); Gruplar.KullanıcıEslestir(yeniUser.UserID, yeniUser.ConnectionId); ////send to caller //Clients.Caller.onConnected(id, userName, ConnectedUsers, CurrentMessage); ////send to all except caller client //Clients.AllExcept(id).onNewUserConnected(id, userName); Clients.Client(id).connectMessage("kabul", loginSonuc.id.ToString()); } else { Clients.Client(id).connectMessage("red", "0"); } } }
public static List <CLGrup> GrupYukle() { List <CLGrup> GrupListesi = new List <CLGrup>(); GrupListesi.Clear(); string query = @"SELECT ID,Name,Adminid FROM GROUPS;"; using (SqlConnection connection = new SqlConnection(DBControls.conBuilder.ConnectionString)) { SqlCommand command = new SqlCommand(query, connection); connection.Open(); // burada grupları tablo olarak alalım da işimiz kolaylaşsın. DataTable dt = new DataTable(); using (SqlDataAdapter dtA = new SqlDataAdapter(command)) { dtA.Fill(dt); } for (int i = 0; i < dt.Rows.Count; i++) { CLGrup clg = new CLGrup(); string grupid = dt.Rows[i][0].ToString(); command = new SqlCommand(@" SELECT GroupAndUsers.ID,userID,Name,Adminid,Users.id, Users.username,mail,tel,nick FROM GroupAndUsers INNER JOIN GROUPS ON GROUPS.ID = groupID AND GROUPS.ID = @groupID INNER JOIN USERS ON USERS.ID = GroupAndUsers.userID", connection); command.Parameters.AddWithValue("@groupID", grupid); using (SqlDataReader oku = command.ExecuteReader()) { while (oku.Read()) { clg.GroupID = grupid; clg.GroupAdminID = oku[3].ToString(); clg.GroupName = oku[2].ToString(); DBControls.UserDetail userDetail = new DBControls.UserDetail(); userDetail.ConnectionId = null; // suan user yok sonra set edeceğiz. userDetail.UserID = oku[4].ToString(); userDetail.UserName = oku[5].ToString(); userDetail.Mail = oku[6].ToString(); userDetail.Tel = oku[7].ToString(); userDetail.Nick = oku[8].ToString(); clg.Users.Add(userDetail); } } GrupListesi.Add(clg); } } return(GrupListesi); }
public static void GrupdanUyeDusur(DBControls.UserDetail CikanUser, string connectionid) { foreach (CLGrup item in GrupListesi) { foreach (DBControls.UserDetail user in item.Users) { if (user == CikanUser) { user.ConnectionId = null; } } } }