public static void RegisterThread() { var factory = getFactory(); using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.BasicQos(0, 1, true); channel.QueueDeclare("Register", false, false, false, null); Console.WriteLine("[Register]Listening"); while (true) { BasicGetResult result = channel.BasicGet("Register", true); if (result == null) { // No message available at this time. } else { IBasicProperties props = result.BasicProperties; byte[] body = result.Body; Messages.User u = Messages.User.DeserializeFromByte(body); InsertIntoDb(u); Console.WriteLine("[Register]" + u.username + " " + u.password); } } } }
public void Register(Messages.User u) { var factory = _Default.getFactory(); using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare("Register", false, false, false, null); channel.BasicPublish("", "Register", true, null, Messages.User.SerializeToByte(u)); } }
public static void InsertIntoDb(Messages.User u) { string conn = getConnectionString(); using (SqlConnection connection = new SqlConnection(conn)) { SqlCommand command = new SqlCommand("insert into [dbo].[users] values ('" + u.username + "','" + u.password + "')", connection); command.Connection.Open(); command.ExecuteNonQuery(); command.Connection.Close(); } }
public static bool CheckIfUserExists(Messages.User u) { string conn = getConnectionString(); using (SqlConnection connection = new SqlConnection(conn)) { SqlCommand command = new SqlCommand("select * from [dbo].[users] where username='******' and password='******'", connection); command.Connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { return(true); } reader.Close(); command.Connection.Close(); } return(false); } }
public void UserLogin(Messages.User u) { var factory = _Default.getFactory(); using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare("Login", false, false, false, null); var id = Guid.NewGuid().ToString(); var properties = channel.CreateBasicProperties(); properties.CorrelationId = id; properties.ReplyTo = id; channel.QueueDeclare(id, false, false, true, null); var consumer = new EventingBasicConsumer(channel); int result = 0; consumer.Received += (model, ea) => { byte[] body = ea.Body; result = int.Parse(Encoding.UTF8.GetString(body)); channel.QueueDelete(id, false, false); }; channel.BasicConsume(id, true, consumer); channel.BasicPublish("", "Login", true, properties, Messages.User.SerializeToByte(u)); while (result.CompareTo(0) == 0) { System.Threading.Thread.Sleep(100); } if (result.CompareTo(200) == 0) { Response.Write("<script>alert('Logged!')</script>"); } else { Response.Write("<script>alert('User not found')</script>"); } } }
public static void LoginThread() { var factory = getFactory(); using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.BasicQos(0, 1, true); channel.QueueDeclare("Login", false, false, false, null); Console.WriteLine("[Login]Listening"); while (true) { BasicGetResult result = channel.BasicGet("Login", true); if (result == null) { // No message available at this time. } else { IBasicProperties props = result.BasicProperties; byte[] body = result.Body; Messages.User u = Messages.User.DeserializeFromByte(body); bool isLogged = CheckIfUserExists(u); Console.WriteLine("[Login]" + u.username + " " + u.password + " " + ((isLogged) ? "is exists" : "doesn't exists")); channel.QueueDeclare(props.CorrelationId, false, false, true, null); if (isLogged) { channel.BasicPublish("", props.CorrelationId, false, null, Encoding.UTF8.GetBytes("200")); return;//200; } else { channel.BasicPublish("", props.CorrelationId, false, null, Encoding.UTF8.GetBytes("404")); return;//404 } } } } }