private void identifyClient(User user) { using (F2GContext db = new F2GContext()) { String hostname = System.Net.Dns.GetHostName(); String Ip = System.Net.Dns.GetHostByName(hostname).AddressList[0].ToString(); mycomputer = new Client() { name = hostname, ip = Ip, active = true, User = user }; List <Client> existingClients = db.Clients.Where(c => c.ip == Ip).ToList(); foreach (Client existing in existingClients) { existing.active = false; } db.SaveChanges(); Client existingClient = db.Clients.FirstOrDefault(c => c.ip == Ip); if (existingClient == null) { db.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; db.Clients.Add(mycomputer); } else { existingClient.active = true; } db.SaveChanges(); //try //{ // db.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; // db.Clients.Add(mycomputer); // db.SaveChanges(); // Status.Content = "Sucessfully connected to DataBase"; // //db.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; // //db.Clients.Add(mycomputer); // //db.SaveChanges(); // //Status.Content = "Sucessfully connected to DataBase"; //} //catch (Exception e) //{ // Status.Content = "Something Went Wrong adjusting DataBase"; // removeClient(); // removeClient(); // identifyClient(user); //} } }
private void removeClient() { //try //{ using (F2GContext db = new F2GContext()) { //db.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; //db.Clients.Remove(mycomputer); db.Entry(mycomputer).State = Microsoft.EntityFrameworkCore.EntityState.Modified; mycomputer.active = false; db.SaveChanges(); } //} //catch (Exception e) //{ // // Do nothing for Database exception // //} }
private void LoginAttempt(object sender, RoutedEventArgs e) { //User userAttempt = new User(new Tuple<string,string>(Emailblock.Text.Trim(), getHash(Passwordblock.Password.Trim()))); using (F2GContext db = new F2GContext()) { User user = db.Users.FirstOrDefault(u => u.email == Emailblock.Text.Trim()); if (user == null) { status.Content = ("User does not exist!"); return; } if (user.hash == getHash(Passwordblock.Password.Trim())) { /// Gained Access to Account // //status.Content = ("user variable is now authenticated user!"); openMain(user); //identifyClient(user); return; } status.Content = ("incorrect username or password!"); } }
private async Task <bool> checkDB() { //try { using (F2GContext db = new F2GContext()) { Console.WriteLine("in checkDB"); Request req = db.Requests.Include(r => r.User).Include(r => r.client).FirstOrDefault(r => r.client.ip == ipAddr); //Request req = db.Requests.FirstOrDefault(r => r.client.ip == ipAddr); if (req != null) { fileFound = true; //window1.updateStatus("Connection request recieved. Proceeding to search and send files"); FileFound(this, new FileFoundEventArgs { RequestData = req }); } } //} catch (Exception e) { // Console.WriteLine(e.Message); //} return(fileFound); }
private void Listen_FileFound(object sender, F2GDBListner.FileFoundEventArgs e) { Console.WriteLine("in FileFound"); string[] paths = Search4File.Search(e.RequestData.fileName).Split('\n').Where(p => !string.IsNullOrWhiteSpace(p)).ToArray(); List <Tuple <string, byte[]> > files = new List <Tuple <string, byte[]> >(); foreach (string path in paths) { files.Add(new Tuple <string, byte[]>(path, File2Bytes.ConvertFileToBytes(path))); } files = files.Where(f => f != null).ToList(); using (F2GContext db = new F2GContext()) { Request rsq = e.RequestData; db.Entry(rsq).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; User user = rsq.User; db.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; Client client = rsq.client; db.Entry(client).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; Response rsp = new Response() { success = (files.Count > 0), fileName = rsq.fileName, User = user, client = client }; db.Responses.Add(rsp); foreach (Tuple <string, byte[]> file in files) { Console.WriteLine("sending a file!"); db.Files.Add(new File() { name = e.RequestData.fileName, path = file.Item1, contents = file.Item2, response = rsp }); } db.Requests.Remove(rsq); db.SaveChanges(); } startListening(); }