Example #1
0
        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);
                //}
            }
        }
Example #2
0
        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 //
            //}
        }
Example #3
0
 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!");
     }
 }
Example #4
0
 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);
 }
Example #5
0
        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();
        }