Sunteți pe pagina 1din 32

COLEGIUL NAŢIONAL “ŞTEFAN CEL MARE”, TÂRGU NEAMŢ

Messaging Cloud

Lucrare pentru atestarea competenţelor profesionale la informatică

Profesor, Elev,

- Crețu Laurențiu Vasile


Clasa a XII-a RB

2020

Introducere

C# este un limbaj de programare orientat-obiect conceput de Microsoft la sfârșitul anilor 90.


A fost conceput ca un concurent pentru limbajul Java. Ca și acesta, C# este un derivat al
Messaging Cloud

limbajului de programare C++. Limbajul C# este unul dintre cele mai utilizate limbaje de
programare multiparadigmă din lume, fiind clasat în acest moment pe locul 5 mondial, ca
nivel de popularitate. Este un limbaj simplu, modern, cu o flexibilitate foarte mare în ceea ce
privește dezvoltarea de aplicații și portabilitatea acestora.
În epoca în care trăim ne confruntăm din ce în ce mai mult cu  fenomenul de media de
socializare. Efectele rețelelor de socializare  pe care oamenii își petrec zilnic ore întregi sunt
discutate pe larg. În ultimii ani comunicația maselor prin rețelele sociale are consecințe din ce
în ce mai vizibile, chiar și pe plan mondial. Analiștii sunt de părere că fără rețele sociale
evenimentele s-ar fi desfășurat altfel.
Aplicația Messaging Cloud este un produs software, destinat pentru platforma Windows, prin
care utilizatorii pot comunica cu alte persoane aflate la depărtare. Designul modern și intuitiv
fac din această aplicație un mod ușor de a ține legătura cu prietenii, mesajele ajungând în doar
câteva secunde la destinatari.
Ideea acestui soft a apărut din pasiunea pentru limbajele de programare, aplicația îmbinând
noțiuni avansate de C#, SQL, elemente de design și cromatică, administrarea serverelor.

Mediile de programare folosite

1. Microsoft Visual Studio 2019


Visual Studio include un set complet de instrumente de dezvoltare pentru generarea de
aplicații ASP.NET, Servicii Web XML, aplicații desktop și aplicații mobile. Visual Basic,
Visual C++, Visual C# și Visual J# toate folosesc același mediu de dezvoltare integrat (IDE)
care le permite partajarea instrumentelor și facilitează crearea de soluții folosind mai multe
limbaje de programare.

2. phpMyAdmin
phpMyAdmin este un sistem de gestiune a bazelor de date MySQL liber, open source, scris
în PHP și destinat administrării bazelor de date prin intermediul unui browser web. Prin
phpMyAdmin se pot întreprinde diverse operații cum ar fi crearea, modificarea sau ștergerea
bazelor de date, tabelelor, câmpurilor sau rândurilor; executarea de comenzi (interogări) SQL.

2
Messaging Cloud

Structura bazei de date

Baza de date MySql folosită este creată cu ajutorul mediului phpMyAdmin și este publicată
pe un domeniu Hostinger, oferind o bună stocarea și reîmprospătare a datelor indiferent de
locul în care utilizatorul este conectat.

Utilzatori Prieteni
User - int
Id - int
Prieten - varchar
Nume_Prenume - varchar

Email - varchar
Mesaje
Parola - varchar
User1 - varchar
User - varchar
User2 - varchar
Status - varchar
Mesaj - varchar
Imagine - longblob Citit - varchar
Telefon - varchar Data - datetime
Oraș - varchar

Bio - varchar Cerere_prietenie


Descriere - varchar User1 - varchar

Ultima_accesare - datetime User2 - varchar

3
Messaging Cloud

Instalarea aplicației

4
Messaging Cloud

Pasul 1: Pasul 2:

Pasul 3: Pasul 4:

Pasul 5:
După finalizarea instalării pe Desktop
va apărea iconița aplicației.

Fereastra Login

5
Messaging Cloud

 Design:

 Codul sursă:

1. using System;  
2. using System.Collections.Generic;  
3. using System.ComponentModel;  
4. using System.Data;  
5. using System.Drawing;  
6. using System.Linq;  
7. using System.Text;  
8. using System.Threading.Tasks;  
9. using System.Windows.Forms;  
10. using MySql.Data.MySqlClient;  
11.   
12. namespace Messaging_Cloud  
13. {  
14.     public partial class Login : Form  
15.     {  
16.         private MySqlConnection conn;  
17.         public Login()  
18.         {  
19.             InitializeComponent();  
20.             conn = new MySqlConnection(@"SERVER=sql308.main-
hosting.eu;DATABASE=u510481174_atestat;USER=u510481174_laurentiu21; PASSWORD=****") 
21.         }  
22.   
23.         private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs 
e)  
24.         {  
25.             Form1 f = new Form1();  
26.             this.Hide();  
27.             f.ShowDialog();  
28.             this.Close();  
29.         }  
30.   

6
Messaging Cloud

31.         private void PictureBox1_Click(object sender, EventArgs e)  
32.         {  
33.             timer1.Start();  
34.         }  
35.   
36.         private void Timer1_Tick(object sender, EventArgs e)  
37.         {  
38.             if (this.Opacity > 0.0)  
39.             {  
40.                 this.Opacity -= 0.25;  
41.             }  
42.             else  
43.             {  
44.                 timer1.Stop();  
45.                 Application.Exit();  
46.             }  
47.         }  
48.   
49.         private void PictureBox2_Click(object sender, EventArgs e)  
50.         {  
51.             WindowState = FormWindowState.Minimized;  
52.         }  
53.   
54.         private void BunifuMaterialTextbox4_Leave(object sender, EventArgs e)  
55.         {  
56.             if (bunifuMaterialTextbox4.Text == "")  
57.             {  
58.                 bunifuMaterialTextbox4.Text = "Parola";  
59.                 bunifuMaterialTextbox4.isPassword = false;  
60.             }  
61.         }  
62.         public void Alertt(string msg, Alert.enmType type)  
63.         {  
64.             Alert frm = new Alert();  
65.             frm.showAlert(msg, type);  
66.         }  
67.         private void BunifuMaterialTextbox4_Enter(object sender, EventArgs e)  
68.         {  
69.             if (bunifuMaterialTextbox4.Text == "Parola")  
70.             {  
71.                 bunifuMaterialTextbox4.Text = "";  
72.                 bunifuMaterialTextbox4.isPassword = true;  
73.             }  
74.         }  
75.   
76.         private void Button1_Click(object sender, EventArgs e)  
77.         {  
78.             if (bunifuMaterialTextbox2.Text != "" && bunifuMaterialTextbox4.Text != "")  
79.             {  
80.                 try  
81.                 {  
82.                     int ok = 0;  
83.                     conn.Open();  
84.                     MySqlCommand cmd = new MySqlCommand(@"select *from Utilizatori where 
User=@val1 and Parola=@val2", conn);  
85.                     cmd.Parameters.AddWithValue("val1", bunifuMaterialTextbox2.Text.ToStr
ing());  
86.                     cmd.Parameters.AddWithValue("val2", bunifuMaterialTextbox4.Text.ToStr
ing());  
87.                     var red = cmd.ExecuteReader();  
88.                     if (red.Read())  
89.                     {  
90.                         this.Alertt("Logare reusita", Alert.enmType.Success);  
91.                         new Loading().ShowDialog();  
92.                         Form3 f = new Form3();  
93.                         f.user = bunifuMaterialTextbox2.Text;  

7
Messaging Cloud

94.                         f.label5.Text = bunifuMaterialTextbox2.Text;  
95.                         f.label7.Text = "Bine ai venit, " + red[1].ToString();  
96.                         f.label7.Left = (f.panel3.Width - f.label7.Size.Width) / 2;  
97.                         this.Hide();  
98.                         f.ShowDialog();  
99.                     }  
100.                     else  
101.                         this.Alertt("Logare nereusita", Alert.enmType.Error);  
102.                     red.Dispose();  
103.                     cmd.Dispose();  
104.                     conn.Close();  
105.                 }  
106.                 catch(Exception ex)  
107.                 {  
108.                     MessageBox m = new MessageBox();  
109.                     m.ShowDialog();  
110.                 }  
111.   
112.             }  
113.             else  
114.                 this.Alertt("Campuri necompletate", Alert.enmType.Error);  
115.         }  
116.   
117.         private void pictureBox1_MouseHover(object sender, EventArgs e)  
118.         {  
119.             pictureBox1.BackColor = Color.Crimson;  
120.         }  
121.   
122.         private void pictureBox1_MouseLeave(object sender, EventArgs e)  
123.         {  
124.             pictureBox1.BackColor = Color.White;  
125.         }  
126.   
127.         private void pictureBox2_MouseHover(object sender, EventArgs e)  
128.         {  
129.             pictureBox2.BackColor = Color.FromArgb(128, 128, 128);  
130.         }  
131.   
132.         private void pictureBox2_MouseLeave(object sender, EventArgs e)  
133.         {  
134.             pictureBox2.BackColor = Color.White;  
135.         }  
136.     }  
137. }  

 Conturi utilizator existente destinate testelor:


Id Nume_Prenume Email Parola User
1 Popescu Mihai mihai21@gmail.com nirvana mihai21
2 Cucos Maria maria65@gmail.com trandafiri maria65
3 Pop Ecaterina cati43@yahoo.com ecaterinaa cati43
4 Nemtanu Adrian adrian@yahoo.com league_of_legends ady21
5 Dochita Andreea andreeadoc@yahoo.com 12340987 andreea76
6 Mihai Andrei andrei_mihai@gmail.com evolution andrei_mih32
7 Diaconescu Andrei andrei_diac@gmail.com mess21 andrei65

Fereastra Sign Up

8
Messaging Cloud

 Design:

 Codul sursă:

1. using System;  
2. using System.Collections.Generic;  
3. using System.ComponentModel;  
4. using System.Data;  
5. using System.Drawing;  
6. using System.Linq;  
7. using System.Text;  
8. using System.Threading.Tasks;  
9. using System.Windows.Forms;  
10. using MySql.Data.MySqlClient;  
11.   
12. namespace Messaging_Cloud  
13. {  
14.     public partial class Form1 : Form  
15.     {  
16.         private MySqlConnection conn;  
17.         public Form1()  
18.         {  
19.             InitializeComponent();  
20.             conn = new MySqlConnection(@"SERVER=sql308.main-
hosting.eu;DATABASE=u510481174_atestat;USER=u510481174_laurentiu21; PASSWORD=****");  
21.         }  
22.   
23.         private void PictureBox1_Click(object sender, EventArgs e)  
24.         {  

9
Messaging Cloud

25.             timer1.Start();  
26.         }  
27.   
28.         private void PictureBox2_Click(object sender, EventArgs e)  
29.         {  
30.             WindowState = FormWindowState.Minimized;  
31.         }  
32.   
33.         private void Button2_Click(object sender, EventArgs e)  
34.         {  
35.             bunifuMaterialTextbox1.Text = "";  
36.             bunifuMaterialTextbox2.Text = "";  
37.             bunifuMaterialTextbox3.Text = "";  
38.             bunifuMaterialTextbox4.Text = "";  
39.             bunifuMaterialTextbox5.Text = "";  
40.             bunifuCheckbox1.Checked = false;  
41.         }  
42.   
43.         private void BunifuMaterialTextbox4_Enter(object sender, EventArgs e)  
44.         {  
45.             if (bunifuMaterialTextbox4.Text == "Parola")  
46.             {  
47.                 bunifuMaterialTextbox4.Text = "";  
48.                 bunifuMaterialTextbox4.isPassword = true;  
49.             }  
50.         }  
51.   
52.         private void BunifuMaterialTextbox4_Leave(object sender, EventArgs e)  
53.         {  
54.             if (bunifuMaterialTextbox4.Text == "")  
55.             {  
56.                 bunifuMaterialTextbox4.Text = "Parola";  
57.                 bunifuMaterialTextbox4.isPassword = false;  
58.             }  
59.         }  
60.   
61.         private void BunifuMaterialTextbox5_Enter(object sender, EventArgs e)  
62.         {  
63.             if (bunifuMaterialTextbox5.Text == "Parola")  
64.             {  
65.                 bunifuMaterialTextbox5.Text = "";  
66.                 bunifuMaterialTextbox5.isPassword = true;  
67.             }  
68.         }  
69.   
70.         private void BunifuMaterialTextbox5_Leave(object sender, EventArgs e)  
71.         {  
72.             if (bunifuMaterialTextbox5.Text == "")  
73.             {  
74.                 bunifuMaterialTextbox5.Text = "Parola";  
75.                 bunifuMaterialTextbox5.isPassword = false;  
76.             }  
77.         }  
78.         public void Alertt(string msg, Alert.enmType type)  
79.         {  
80.             Alert frm = new Alert();  
81.             frm.showAlert(msg, type);  
82.         }  
83.         private void Button1_Click(object sender, EventArgs e)  
84.         {  
85.             if (bunifuMaterialTextbox1.Text!="" && bunifuMaterialTextbox2.Text!="" && bun
ifuMaterialTextbox3.Text != "" && bunifuMaterialTextbox4.Text != "" && bunifuMaterialText
box5.Text != "" && bunifuCheckbox1.Checked)  
86.             {  
87.                 if (bunifuMaterialTextbox4.Text==bunifuMaterialTextbox5.Text)  
88.                 {  

10
Messaging Cloud

89.                     if (bunifuMaterialTextbox3.Text.Contains("@"))  
90.                     {  
91.                         conn.Open();  
92.                         MySqlCommand cmd = new MySqlCommand(@"select *from Utilizatori wh
ere Email=@var or User=@val", conn);  
93.                         cmd.Parameters.AddWithValue("var", bunifuMaterialTextbox3.Text); 
94.                         cmd.Parameters.AddWithValue("val", bunifuMaterialTextbox2.Text); 
95.                         var red = cmd.ExecuteReader();  
96.                         bool ok = true;  
97.                         if (red.Read())  
98.                         {  
99.                             this.Alertt("Email sau user existent", Alert.enmType.Error); 
100.                             bunifuMaterialTextbox3.Text = "";  
101.                             ok = false;  
102.                         }  
103.                         red.Dispose();  
104.                         cmd.Dispose();  
105.                         conn.Close();  
106.                         if (ok==true)  
107.                         {  
108.                             conn.Open();  
109.                             cmd = new MySqlCommand(@"insert into Utilizatori(Nume
_Prenume,Email,Parola,User,Status,Ultima_accesare) values(@nume,@email,@parola,@user,@sta
tus,@accesare)", conn);  
110.                             cmd.Parameters.AddWithValue("nume", bunifuMaterialTex
tbox1.Text);  
111.                             cmd.Parameters.AddWithValue("email", bunifuMaterialTe
xtbox3.Text);  
112.                             cmd.Parameters.AddWithValue("parola", bunifuMaterialT
extbox4.Text);  
113.                             cmd.Parameters.AddWithValue("user", bunifuMaterialTex
tbox2.Text);  
114.                             cmd.Parameters.AddWithValue("status", "online");  
115.                             cmd.Parameters.AddWithValue("accesare", DateTime.Now)
;  
116.                             cmd.ExecuteNonQuery();  
117.                             cmd.Dispose();  
118.                             conn.Close();  
119.   
120.                             this.Alertt("Cont creat", Alert.enmType.Success);  
121.                             new Loading().ShowDialog();  
122.                             Form3 f = new Form3();  
123.                             f.user = bunifuMaterialTextbox2.Text;  
124.                             f.label5.Text = bunifuMaterialTextbox2.Text;  
125.                             f.label3.Text = "Bine ai venit, " + bunifuMaterialTex
tbox1.Text;  
126.                             f.label3.Left = (f.panel3.Width - f.label3.Size.Width
) / 2;  
127.                             bunifuMaterialTextbox1.Text = "";  
128.                             bunifuMaterialTextbox2.Text = "";  
129.                             bunifuMaterialTextbox3.Text = "";  
130.                             bunifuMaterialTextbox4.Text = "";  
131.                             bunifuMaterialTextbox5.Text = "";  
132.                             bunifuCheckbox1.Checked = false;  
133.                             this.Hide();  
134.                             f.ShowDialog();  
135.   
136.                         }  
137.                     }  
138.                     else  
139.                     {  
140.                         this.Alertt("Format email incorect", Alert.enmType.Error)
;  
141.                         bunifuMaterialTextbox3.Text = "";  
142.                     }  
143.                 }  

11
Messaging Cloud

144.                 else  
145.                 {  
146.                     this.Alertt("Parolele nu coincid", Alert.enmType.Error);  
147.                     bunifuMaterialTextbox4.Text = "";  
148.                     bunifuMaterialTextbox5.Text = "";  
149.                 }  
150.             }  
151.             else  
152.             {  
153.                 this.Alertt("Campuri necompletate", Alert.enmType.Error);  
154.             }  
155.         }  
156.   
157.         private void Form1_Load(object sender, EventArgs e)  
158.         {  
159.               
160.         }  
161.   
162.         private void Timer1_Tick(object sender, EventArgs e)  
163.         {  
164.             if (this.Opacity>0.0)  
165.             {  
166.                 this.Opacity -= 0.25;  
167.             }  
168.             else  
169.             {  
170.                 timer1.Stop();  
171.                 Application.Exit();  
172.             }  
173.         }  
174.   
175.         private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEv
entArgs e)  
176.         {  
177.             Login l = new Login();  
178.             this.Hide();  
179.             l.ShowDialog();  
180.             this.Close();  
181.         }  
182.   
183.         private void pictureBox1_Click_1(object sender, EventArgs e)  
184.         {  
185.             Close();  
186.         }  
187.   
188.         private void pictureBox2_Click_1(object sender, EventArgs e)  
189.         {  
190.             WindowState = FormWindowState.Minimized;  
191.         }  
192.   
193.         private void pictureBox1_MouseHover(object sender, EventArgs e)  
194.         {  
195.             pictureBox1.BackColor = Color.Crimson;  
196.         }  
197.   
198.         private void pictureBox1_MouseLeave(object sender, EventArgs e)  
199.         {  
200.             pictureBox1.BackColor = Color.White;  
201.         }  
202.   
203.         private void pictureBox2_MouseHover(object sender, EventArgs e)  
204.         {  
205.             pictureBox2.BackColor=Color.FromArgb(128, 128, 128);  
206.         }  
207.   
208.         private void pictureBox2_MouseLeave(object sender, EventArgs e)  

12
Messaging Cloud

209.         {  
210.             pictureBox2.BackColor = Color.White;  
211.         }  
212.     }  
213. }  

Fereastra principală

 Fereastra de start:

3
5

1. Lista de butoane
2. Panel-ul de ”Bun venit”
3. Lista de prieteni
4. Tab-ul adăugare noi prieteni
5. Tab-ul de schimbare a descrierii

13
Messaging Cloud

 Fereastra de mesaje:

2
3

1. Panel-ul cu mesajele user-ului selectat din lista de prieteni


2. Detalii despre user-ul selectat
3. Tab-ul pentru trimiterea mesajelor

14
Messaging Cloud

 Căutare prieteni noi:

 Fereastra Settings  Fereastra Friend Request

15
Messaging Cloud

 Codul sursă - Fereastra principală:

1. using System;  
2. using System.Collections.Generic;  
3. using System.ComponentModel;  
4. using System.Data;  
5. using System.Drawing;  
6. using System.Linq;  
7. using System.Text;  
8. using System.Threading.Tasks;  
9. using System.Windows.Forms;  
10. using MySql.Data.MySqlClient;  
11. using System.IO;  
12.   
13. namespace Messaging_Cloud  
14. {  
15.     public partial class Form3 : Form  
16.     {  
17.         private MySqlConnection conn;  
18.         public Form3()  
19.         {  
20.             InitializeComponent();  
21.             conn = new MySqlConnection(@"SERVER=sql308.main-
hosting.eu;DATABASE=u510481174_atestat;USER=u510481174_laurentiu21; PASSWORD=phantom
21");  
22.         }  
23.         public string user,aux1,aux2,nume;  
24.   
25.         private void button1_Click(object sender, EventArgs e)  
26.         {  
27.               
28.         }  
29.         public int lungime_prieteni=20;  
30.         private void Form3_Load(object sender, EventArgs e)  
31.         {  
32.             try  
33.             {  
34.                 panel12.AutoScroll = false;  
35.                 panel12.HorizontalScroll.Enabled = false;  
36.                 panel12.HorizontalScroll.Visible = false;  
37.                 panel12.HorizontalScroll.Maximum = 0;  
38.                 panel12.AutoScroll = true;  
39.                 conn.Open();  
40.                 MySqlCommand cmd = new MySqlCommand(@"select Imagine,Descriere from 
Utilizatori where User=@val", conn);  
41.                 cmd.Parameters.AddWithValue("val", user);  
42.                 var red = cmd.ExecuteReader();  
43.                 if (red.Read())  
44.                 {  
45.                     if (red[0].ToString()!="")  
46.                     {  
47.                         byte[] img = (byte[])red[0];  
48.                         MemoryStream m = new MemoryStream(img);  
49.                         pictureBox3.Image = Image.FromStream(m);  
50.                         circularPictureBox1.Image = Image.FromStream(m);  
51.                     }  
52.                     if (red[1].ToString() != "")  
53.                     {  
54.                         label6.Text = red[1].ToString();  
55.                         bunifuMaterialTextbox2.Text = red[1].ToString();  
56.                     }  
57.                 }  
58.                 red.Dispose();  

16
Messaging Cloud

59.                 cmd.Dispose();  
60.                 conn.Close();  
61.                 conn.Open();  
62.                 cmd = new MySqlCommand(@"update  Utilizatori set Status='online' whe
re User=@val", conn);  
63.                 cmd.Parameters.AddWithValue("val", user);  
64.                 cmd.ExecuteNonQuery();  
65.                 cmd.Dispose();  
66.                 conn.Close();  
67.                 int lungime = 10;  
68.                 List<string> prieteni = new List<string>();  
69.                 conn.Open();  
70.                 cmd = new MySqlCommand(@"select *from Prieteni where User=@val", con
n);  
71.                 cmd.Parameters.AddWithValue("val", user);  
72.                 red = cmd.ExecuteReader();  
73.                 while (red.Read())  
74.                 {  
75.                     prieteni.Add(red[1].ToString());  
76.                 }  
77.                 red.Dispose();  
78.                 cmd.Dispose();  
79.                 conn.Close();  
80.                 conn.Open();  
81.                 cmd = new MySqlCommand(@"select *from Cerere_prietenie where User2=@
val", conn);  
82.                 cmd.Parameters.AddWithValue("val", user);  
83.                 red = cmd.ExecuteReader();  
84.                 if (red.Read())  
85.                 {  
86.                     pictureBox10.BackColor = Color.SeaGreen;  
87.                 }  
88.                 red.Dispose();  
89.                 cmd.Dispose();  
90.                 conn.Close();  
91.                 for (int i = 0; i < prieteni.Count; i++)  
92.                 {  
93.                     Friend f = new Friend();  
94.                     label2.Visible = false;  
95.                     f.Location = new Point(0, lungime);  
96.                     f.label5.Text = prieteni[i];  
97.                     f.timer1.Start();  
98.                     conn.Open();  
99.                     cmd = new MySqlCommand(@"select *from Utilizatori where User=@va
l", conn);  
100.                     cmd.Parameters.AddWithValue("val", prieteni[i].ToString()
);  
101.                     red = cmd.ExecuteReader();  
102.                     if (red.Read())  
103.                     {  
104.                         f.label5.Text = red[4].ToString();  
105.                         if (red[10].ToString() != "")  
106.                             f.label2.Text = red[10].ToString();  
107.                         else  
108.                             f.label2.Text = "Nicio descriere";  
109.   
110.                         if (red[8].ToString() != "")  
111.   
112.                             f.label3.Text = red[8].ToString();  
113.                         else  
114.                             f.label3.Text = "Locatie neprecizata";  
115.                         char[] sep = { ' ' };  
116.                         string[] sir;  
117.                         sir = red[11].ToString().Split(sep);  
118.                         f.label1.Text = sir[1];  
119.                         if (red[6].ToString()!="")  

17
Messaging Cloud

120.                         {  
121.                             byte[] img = (byte[])red[6];  
122.                             MemoryStream m = new MemoryStream(img);  
123.                             f.pictureBox3.Image = Image.FromStream(m);  
124.                         }  
125.   
126.                         if (red[5].ToString()=="online")  
127.                             f.panel5.BackColor = Color.SeaGreen;  
128.                     }  
129.                     red.Dispose();  
130.                     cmd.Dispose();  
131.                     conn.Close();  
132.                     conn.Open();  
133.                     int contor = 0;  
134.                     cmd = new MySqlCommand(@"select *from Mesaje where User1=
@val1 and User2=@val2", conn);  
135.                     cmd.Parameters.AddWithValue("val1", prieteni[i]);  
136.                     cmd.Parameters.AddWithValue("val2", user);  
137.                     red = cmd.ExecuteReader();  
138.                     while (red.Read())  
139.                     {  
140.                         contor++;  
141.                     }  
142.                     red.Read();  
143.                     cmd.Dispose();  
144.                     conn.Close();  
145.                     if (contor>0)  
146.                     {  
147.                         f.label4.Text = contor.ToString();  
148.                         f.label4.Visible = true;  
149.                         f.label1.Visible = true;  
150.                     }  
151.                     f.Click += F_Click;  
152.                     panel12.Controls.Add(f);  
153.                     lungime += 127;  
154.                     lungime_prieteni = lungime;  
155.                 }  
156.             }  
157.             catch(Exception ex)  
158.             {  
159.                 Close();  
160.                 MessageBox m=new MessageBox();  
161.                 m.ShowDialog();  
162.   
163.             }  
164.         }  
165.         public Mesaje m;  
166.         public int lungime = 20;  
167.         public Friend f;  
168.         private void F_Click(object sender, EventArgs e)  
169.         {  
170.             panel3.Controls.Remove(m);  
171.             timer1.Stop();  
172.             f = (Friend)sender;  
173.             m = new Mesaje();  
174.             lungime = 20;  
175.             m.Location = new Point(0, 0);  
176.             m.pictureBox3.Image = f.pictureBox3.Image;  
177.             m.panel5.BackColor = f.panel5.BackColor;  
178.             m.label5.Text = f.label5.Text;  
179.             m.pictureBox1.Image = m.pictureBox3.Image;  
180.             m.label1.Text = m.label5.Text;  
181.             aux2 = m.label1.Text;  
182.             m.label1.Left = (m.panel2.Width - m.label1.Size.Width)/2;  
183.             if (m.panel5.BackColor == Color.Crimson)  
184.                 m.label2.Text = "Offline";  

18
Messaging Cloud

185.             conn.Open();  
186.             MySqlCommand cmd1 = new MySqlCommand(@"update Mesaje set Citit='D
a' where User1=@val or User2=@val1", conn);  
187.             cmd1.Parameters.AddWithValue("val", f.label5.Text);  
188.             cmd1.Parameters.AddWithValue("val1", f.label5.Text);  
189.             cmd1.ExecuteNonQuery();  
190.             cmd1.Dispose();  
191.             conn.Close();  
192.             conn.Open();  
193.             MySqlCommand cmd = new MySqlCommand("select *from Utilizatori whe
re User=@val", conn);  
194.             cmd.Parameters.AddWithValue("val", f.label5.Text);  
195.             var red = cmd.ExecuteReader();  
196.             if (red.Read())  
197.             {  
198.                 if (red[5].ToString() == "online")  
199.                     m.panel5.BackColor = Color.SeaGreen;  
200.                 if (red[5].ToString() == "offline")  
201.                     m.panel5.BackColor = Color.Crimson;  
202.             }  
203.             red.Dispose();  
204.             cmd.Dispose();  
205.             conn.Close();  
206.             conn.Open();  
207.             cmd = new MySqlCommand(@"SELECT * FROM Mesaje WHERE (User1=@val1 
and User2=@val2) or (User1=@val3 and User2=@val4)", conn);  
208.             cmd.Parameters.AddWithValue("val1", user);  
209.             cmd.Parameters.AddWithValue("val2", f.label5.Text);  
210.             cmd.Parameters.AddWithValue("val3", f.label5.Text);  
211.             cmd.Parameters.AddWithValue("val4", user);  
212.             red = cmd.ExecuteReader();  
213.             int i = 1;  
214.             while (red.Read())  
215.             {  
216.                 m.label15.Visible = false;  
217.                 if (red[0].ToString() == user)  
218.                 {  
219.                     Text t = new Text();  
220.                     t.label5.Text = red[2].ToString();  
221.                     //t.panel1.Location = new Point(0, 0);  
222.                     t.pictureBox1.Image = pictureBox3.Image;  
223.                     string[] data;  
224.                     data = Convert.ToDateTime(red[3].ToString()).TimeOfDay.To
String().Split(':');  
225.                     t.label2.Text = data[0] + ":" + data[1];  
226.                     t.Location = new Point(m.panel13.Width - t.Width - 25, lu
ngime);  
227.                     m.panel13.Controls.Add(t);  
228.                     m.panel13.AutoScrollPosition = new Point(0, t.Location.Y)
;  
229.                     lungime = lungime + t.Height + 20;  
230.                 }  
231.                 else  
232.                 {  
233.                     Text t = new Text();  
234.                     t.label5.Text = red[2].ToString();  
235.                     t.pictureBox1.Image = m.pictureBox3.Image;  
236.                     t.pictureBox1.Location = new Point(3, 0);  
237.                     t.panel1.BackColor = Color.FromArgb(53, 64, 77);  
238.                     t.label2.Location = new Point(44, 47);  
239.                     string[] data;  
240.                     data = Convert.ToDateTime(red[3].ToString()).TimeOfDay.To
String().Split(':');  
241.                     t.label2.Text = data[0] + ":" + data[1];  
242.                     t.Location = new Point(15, lungime);  
243.                     m.panel13.Controls.Add(t);  

19
Messaging Cloud

244.                     m.panel13.AutoScrollPosition = new Point(0, t.Location.Y)
;  
245.                     lungime = lungime + t.Height + 20;  
246.                 }  
247.                 i++;  
248.             }  
249.             red.Dispose();  
250.             cmd.Dispose();  
251.             conn.Close();  
252.             m.timer1.Start();  
253.             m.bunifuMaterialTextbox1.OnValueChanged += BunifuMaterialTextbox1
_OnValueChanged;  
254.             m.pictureBox4.Click += PictureBox4_Click;  
255.             conn.Open();  
256.             cmd = new MySqlCommand(@"select *from Utilizatori where User=@val
", conn);  
257.             cmd.Parameters.AddWithValue("val", m.label5.Text);  
258.             red = cmd.ExecuteReader();  
259.             if (red.Read())  
260.             {  
261.                 m.label1.Text = red[4].ToString();  
262.                 m.label4.Text = red[1].ToString();  
263.                 if (red[7].ToString() != "")  
264.                     m.label6.Text = red[7].ToString();  
265.                 else  
266.                 {  
267.                     m.label6.Text = "-";  
268.                     m.label6.Top -= 7;  
269.                     m.label6.Left += 90;  
270.                     m.label6.Font = new Font("Microsoft Sans Serif", 15);  
271.                 }  
272.                 m.label8.Text = red[2].ToString();  
273.                 if (red[8].ToString() != "")  
274.                     m.label10.Text = red[8].ToString();  
275.                 else  
276.                 {  
277.                     m.label10.Text = "-";  
278.                     m.label10.Top -= 7;  
279.                     m.label10.Left += 90;  
280.                     m.label10.Font = new Font("Microsoft Sans Serif", 15);  
281.                 }  
282.                 if (red[9].ToString()!="")  
283.                     m.label12.Text = red[9].ToString();  
284.                 else  
285.                 {  
286.                     m.label12.Text = "-";  
287.                     m.label12.Top -= 7;  
288.                     m.label12.Left += 90;  
289.                     m.label12.Font = new Font("Microsoft Sans Serif", 15);  
290.                 }  
291.             }  
292.             red.Dispose();  
293.             cmd.Dispose();  
294.             conn.Close();  
295.             m.pictureBox2.Click+=(sender2, e2) => show_msg2(sender2, e2, m.la
bel5.Text);  
296.             panel3.Controls.Add(m);  
297.             m.BringToFront();  
298.             timer1.Start();  
299.         }  
300.         public void show_msg2(object sender, EventArgs e, string auxiliar)  
301.         {  
302.             conn.Open();  
303.             MySqlCommand cmd = new MySqlCommand(@"DELETE FROM `Prieteni` wher
e User=@val1 and Prieten=@val2", conn);  
304.             cmd.Parameters.AddWithValue("val1", auxiliar);  

20
Messaging Cloud

305.             cmd.Parameters.AddWithValue("val2", user);  
306.             cmd.ExecuteNonQuery();  
307.             cmd.Dispose();  
308.             conn.Close();  
309.             conn.Open();  
310.             cmd = new MySqlCommand(@"DELETE FROM `Prieteni` where User=@val1 
and Prieten=@val2", conn);  
311.             cmd.Parameters.AddWithValue("val1", user);  
312.             cmd.Parameters.AddWithValue("val2", auxiliar);  
313.             cmd.ExecuteNonQuery();  
314.             cmd.Dispose();  
315.             conn.Close();  
316.             MessageBox ms = new MessageBox();  
317.             ms.label2.Text = "Prieten șters!";  
318.             ms.ShowDialog();  
319.   
320.             Application.Restart();  
321.         }  
322.         private void BunifuMaterialTextbox1_OnValueChanged(object sender, Eve
ntArgs e)  
323.         {  
324.             Bunifu.Framework.UI.BunifuMaterialTextbox b = (Bunifu.Framework.U
I.BunifuMaterialTextbox)sender;  
325.             aux1 = b.Text.ToString();  
326.         }  
327.   
328.         private void PictureBox4_Click(object sender, EventArgs e)  
329.         {  
330.             m.label15.Visible = false;  
331.             if (aux1 != "")  
332.             {  
333.                 Text t = new Text();  
334.                 if (lungime < m.panel13.Height + 20)  
335.                 {  
336.                     t.Location = new Point(m.panel13.Width - t.Width - 25, lu
ngime);  
337.                     lungime = lungime + t.Height + 20;  
338.                 }  
339.                 else  
340.                     t.Location = new Point(m.panel13.Width - t.Width - 25, m.
panel13.Height + 20);  
341.                 t.label5.Text = m.bunifuMaterialTextbox1.Text;  
342.                 string[] data;  
343.                 data = DateTime.Now.ToString().Split(' ');  
344.                 string[] timp;  
345.                 timp = data[1].Split(':');  
346.                 t.label2.Text = timp[0] + ":" + timp[1];  
347.                 t.pictureBox1.Image = pictureBox3.Image;  
348.                 m.panel13.Controls.Add(t);  
349.                 conn.Open();  
350.                 MySqlCommand cmd = new MySqlCommand(@"insert into Mesaje(User
1,User2,Mesaj,Data,Citit) values(@user1,@user2,@mesaj,@data,@citit)", conn);  
351.                 cmd.Parameters.AddWithValue("user1", user);  
352.                 cmd.Parameters.AddWithValue("user2", aux2);  
353.                 cmd.Parameters.AddWithValue("mesaj", aux1);  
354.                 cmd.Parameters.AddWithValue("data", DateTime.Now);  
355.                 cmd.Parameters.AddWithValue("citit", "Nu");  
356.                 cmd.ExecuteNonQuery();  
357.                 cmd.Dispose();  
358.                 conn.Close();  
359.                 m.bunifuMaterialTextbox1.Text = "";  
360.                 m.panel13.AutoScrollPosition = new Point(0, m.panel13.AutoScr
ollMinSize.Height);  
361.             }  
362.         }  
363.         private void timer1_Tick(object sender, EventArgs e)  

21
Messaging Cloud

364.         {  
365.             conn.Open();  
366.             MySqlCommand cmd = new MySqlCommand(@"select *from Mesaje where U
ser1=@val and Citit='Nu'", conn);  
367.             cmd.Parameters.AddWithValue("val", aux2);  
368.             var red = cmd.ExecuteReader();  
369.             if (red.Read())  
370.             {  
371.                 Text t = new Text();  
372.                 t.label5.Text = red[2].ToString();  
373.                 t.pictureBox1.Image = m.pictureBox3.Image;  
374.                 t.pictureBox1.Location = new Point(3, 0);  
375.                 t.panel1.BackColor = Color.FromArgb(53, 64, 77);  
376.                 string[] data;  
377.                 data = Convert.ToDateTime(red[3].ToString()).TimeOfDay.ToStri
ng().Split(':');  
378.                 t.label2.Text = data[0] + ":" + data[1];  
379.                 if (lungime< m.panel13.Height)  
380.                 {  
381.                     t.Location = new Point(15, lungime);  
382.                     lungime = lungime + t.Height + 20;  
383.                 }  
384.                 else  
385.                     t.Location = new Point(15, m.panel13.Height + 20);  
386.                 m.panel13.AutoScrollPosition = new Point(0, m.panel13.AutoScr
ollMinSize.Height);  
387.                 m.panel13.Controls.Add(t);  
388.             }  
389.             red.Dispose();  
390.             cmd.Dispose();  
391.             conn.Close();  
392.             conn.Open();  
393.             cmd = new MySqlCommand(@"update Mesaje set Citit='Da' where User1
=@val and Citit='Nu'", conn);  
394.             cmd.Parameters.AddWithValue("val", aux2);  
395.             cmd.ExecuteNonQuery();  
396.             cmd.Dispose();  
397.             conn.Close();  
398.               
399.         }  
400.         public Panel np;  
401.         private void bunifuMaterialTextbox1_OnValueChanged_1(object sender, E
ventArgs e)  
402.         {  
403.               
404.         }  
405.   
406.         private void panel4_MouseHover(object sender, EventArgs e)  
407.         {  
408.             panel4.BackColor = Color.FromArgb(53, 64, 77);  
409.         }  
410.   
411.         private void panel4_MouseLeave(object sender, EventArgs e)  
412.         {  
413.             panel4.BackColor = Color.FromArgb(31, 39, 49);  
414.         }  
415.         public int lungime_cerere = 20;  
416.         private void pictureBox5_Click(object sender, EventArgs e)  
417.         {  
418.             if (bunifuMaterialTextbox1.Text != "")  
419.             {  
420.                 panel12.Controls.Remove(np);  
421.                 pictureBox11.Visible = true;  
422.                 int lungime = 10;  
423.                 List<string> utilizatori = new List<string>();  
424.                 np = new Panel();  

22
Messaging Cloud

425.                 np.AutoScroll = false;  
426.                 np.HorizontalScroll.Enabled = false;  
427.                 np.HorizontalScroll.Visible = false;  
428.                 np.HorizontalScroll.Maximum = 0;  
429.                 np.AutoScroll = true;  
430.                 np.BackColor = Color.FromArgb(31, 39, 49);  
431.                 np.Size = new Size(295, 528);  
432.                 np.Location = new Point(0, 0);  
433.                 conn.Open();  
434.                 MySqlCommand cmd = new MySqlCommand(@"select *from Utilizator
i", conn);  
435.                 var red = cmd.ExecuteReader();  
436.                 while (red.Read())  
437.                 {  
438.                     if (red[4].ToString().Contains(bunifuMaterialTextbox1.Tex
t.ToString()) && red[4].ToString()!= user)  
439.                     {  
440.                         utilizatori.Add(red[4].ToString());  
441.                     }  
442.                 }  
443.                 red.Dispose();  
444.                 cmd.Dispose();  
445.                 conn.Close();  
446.                 if (utilizatori.Count>0)  
447.                 {  
448.                     for (int i = 0; i < utilizatori.Count; i++)  
449.                     {  
450.                         conn.Open();  
451.                         cmd = new MySqlCommand(@"select *from Utilizatori whe
re User=@val", conn);  
452.                         cmd.Parameters.AddWithValue("val", utilizatori[i]);  
453.                         red = cmd.ExecuteReader();  
454.                         NewFriend nf = new NewFriend();  
455.                         nf.user = user;  
456.                         nf.label5.Text = utilizatori[i];  
457.                         if (red.Read())  
458.                         {  
459.   
460.                             if (red[6].ToString()!="")  
461.                             {  
462.                                 byte[] img = (byte[])red[6];  
463.                                 MemoryStream m = new MemoryStream(img);  
464.                                 nf.pictureBox3.Image = Image.FromStream(m);  
465.                             }  
466.   
467.                             if (red[11].ToString() != "1900-03-05 12:23:43")  
468.                             {  
469.                                 string[] data;  
470.                                 data = red[11].ToString().Split(' ');  
471.                                 string[] timp;  
472.                                 timp = data[1].Split(':');  
473.                                 nf.label3.Text = timp[0] + ":" + timp[1];  
474.                             }  
475.                             else  
476.                                 nf.label3.Text = "-";  
477.   
478.                             if (red[10].ToString() != "")  
479.                                 nf.label2.Text = red[10].ToString();  
480.                             else  
481.                                 nf.label2.Text = "Nicio descriere";  
482.                         }  
483.                         red.Dispose();  
484.                         cmd.Dispose();  
485.                         conn.Close();  
486.                         conn.Open();  

23
Messaging Cloud

487.                         cmd = new MySqlCommand(@"select *from Prieteni where 
User=@val and Prieten=@val1", conn);  
488.                         cmd.Parameters.AddWithValue("val", user);  
489.                         cmd.Parameters.AddWithValue("val1", utilizatori[i]);  
490.                         red = cmd.ExecuteReader();  
491.                         if (red.Read())  
492.                         {  
493.                             nf.pictureBox1.BackColor = Color.Crimson;  
494.                         }  
495.                         else  
496.                             nf.pictureBox1.BackColor = Color.SeaGreen;  
497.                         red.Dispose();  
498.                         cmd.Dispose();  
499.                         conn.Close();  
500.                         conn.Open();  
501.                         cmd = new MySqlCommand(@"select *from Cerere_prieteni
e where User1=@val1 and User2=@val2", conn);  
502.                         cmd.Parameters.AddWithValue("val1", user);  
503.                         cmd.Parameters.AddWithValue("val2", utilizatori[i]);  
504.                         red = cmd.ExecuteReader();  
505.                         if (red.Read())  
506.                         {  
507.                             nf.pictureBox1.BackColor = Color.FromArgb(238, 23
2, 170);  
508.                             nf.pictureBox1.ImageLocation = "Imagini\\add_48px
.png";  
509.                         }  
510.                         red.Dispose();  
511.                         cmd.Dispose();  
512.                         conn.Close();  
513.                         nf.Location = new Point(0, lungime);  
514.                         lungime += 108;  
515.                         np.Controls.Add(nf);  
516.                     }  
517.                 }  
518.                 else  
519.                 {  
520.                     Label lb = new Label();  
521.                     lb.Text = "Neexistent!";  
522.                     lb.ForeColor = Color.White;  
523.                     lb.Font = new Font("Century Gothic", 8);  
524.                     lb.Top = 30;  
525.                     lb.Left=(np.Width-lb.Width)/2;  
526.                     np.Controls.Add(lb);  
527.                 }  
528.                 panel12.Controls.Add(np);  
529.                 np.BringToFront();  
530.             }  
531.         }  
532.   
533.         private void pictureBox11_Click(object sender, EventArgs e)  
534.         {  
535.             panel12.Controls.Remove(np);  
536.             bunifuMaterialTextbox1.Text = "";  
537.             pictureBox11.Visible = false;  
538.         }  
539.         public List<Friend_Request> freq = new List<Friend_Request>();  
540.         public string nume_user;  
541.         private void pictureBox10_Click(object sender, EventArgs e)  
542.         {  
543.             lungime_cerere = 20;  
544.             Cerere c = new Cerere();  
545.             if (pictureBox10.BackColor==Color.SeaGreen)  
546.             {  
547.                 List<string> nume = new List<string>();  
548.                 conn.Open();  

24
Messaging Cloud

549.                 MySqlCommand cmd = new MySqlCommand(@"select *from Cerere_pri
etenie where User2=@val", conn);  
550.                 cmd.Parameters.AddWithValue("val", user);  
551.                 var red = cmd.ExecuteReader();  
552.                 while (red.Read())  
553.                 {  
554.                     nume.Add(red[0].ToString());  
555.                 }  
556.                 red.Dispose();  
557.                 cmd.Dispose();  
558.                 conn.Close();  
559.   
560.                 for (int i=0; i<nume.Count; i++)  
561.                 {  
562.                     Friend_Request aux = new Friend_Request();  
563.                     c.label5.Visible = false;  
564.                     conn.Open();  
565.                     cmd = new MySqlCommand(@"select *from Utilizatori where U
ser=@val", conn);  
566.                     cmd.Parameters.AddWithValue("val", nume[i]);  
567.                     red = cmd.ExecuteReader();  
568.                     if (red.Read())  
569.                     {  
570.                         aux.label5.Text = nume[i];  
571.                         if (red[6].ToString()!="")  
572.                         {  
573.                             byte[] img = (byte[])red[6];  
574.                             MemoryStream m = new MemoryStream(img);  
575.                             aux.pictureBox3.Image= Image.FromStream(m);  
576.                         }  
577.                     }  
578.                     red.Dispose();  
579.                     cmd.Dispose();  
580.                     conn.Close();  
581.                     freq.Add(aux);  
582.                     nume_user = freq[i].label5.Text;  
583.                     freq[i].pictureBox1.Click += (sender2, e2) => show_msg(se
nder2, e2, aux);  
584.                     freq[i].pictureBox2.Click += (sender2, e2) => show_msg1(s
ender2, e2, aux);  
585.                     freq[i].Location = new Point(0, lungime_cerere);  
586.                     c.panel2.Controls.Add(freq[i]);  
587.                     lungime_cerere += 100;  
588.                 }  
589.             }  
590.             c.ShowDialog();  
591.         }  
592.         public void show_msg(object sender, EventArgs e, Friend_Request aux)  
593.         {  
594.             conn.Open();  
595.             MySqlCommand cmd = new MySqlCommand(@"INSERT INTO Prieteni(User,P
rieten) VALUES(@val1,@val2)", conn);  
596.             cmd.Parameters.AddWithValue("val1", user);  
597.             cmd.Parameters.AddWithValue("val2", aux.label5.Text);  
598.             cmd.ExecuteNonQuery();  
599.             cmd.Dispose();  
600.             conn.Close();  
601.             conn.Open();  
602.             cmd = new MySqlCommand(@"INSERT INTO Prieteni(User,Prieten) VALUE
S(@val1,@val2)", conn);  
603.             cmd.Parameters.AddWithValue("val1", aux.label5.Text);  
604.             cmd.Parameters.AddWithValue("val2", user);  
605.             cmd.ExecuteNonQuery();  
606.             cmd.Dispose();  
607.             conn.Close();  
608.             conn.Open();  

25
Messaging Cloud

609.             cmd = new MySqlCommand(@"delete from Cerere_prietenie where User1
=@val1 and User2=@val2", conn);  
610.             cmd.Parameters.AddWithValue("val1", aux.label5.Text);  
611.             cmd.Parameters.AddWithValue("val2", user);  
612.             cmd.ExecuteNonQuery();  
613.             cmd.Dispose();  
614.             conn.Close();  
615.             Friend fre = new Friend();  
616.             label2.Visible = false;  
617.             fre.Location = new Point(0, lungime_prieteni);  
618.             lungime_prieteni += 127;  
619.             fre.label5.Text = aux.label5.Text;  
620.             fre.timer1.Start();  
621.             conn.Open();  
622.             cmd = new MySqlCommand(@"select *from Utilizatori where User=@val
", conn);  
623.             cmd.Parameters.AddWithValue("val", aux.label5.Text);  
624.             var red = cmd.ExecuteReader();  
625.             if (red.Read())  
626.             {  
627.                 fre.label5.Text = red[4].ToString();  
628.                 if (red[10].ToString() != "")  
629.                     fre.label2.Text = red[10].ToString();  
630.                 else  
631.                     fre.label2.Text = "Nicio descriere";  
632.   
633.                 if (red[8].ToString() != "")  
634.   
635.                     fre.label3.Text = red[8].ToString();  
636.                 else  
637.                     fre.label3.Text = "Locatie neprecizata";  
638.   
639.                 char[] sep = { ' ' };  
640.                 string[] sir;  
641.                 sir = red[11].ToString().Split(sep);  
642.                 fre.label1.Text = sir[1];  
643.                 if (red[6].ToString() != "")  
644.                 {  
645.                     byte[] img = (byte[])red[6];  
646.                     MemoryStream m = new MemoryStream(img);  
647.                     fre.pictureBox3.Image = Image.FromStream(m);  
648.                 }  
649.                 if (red[5].ToString() == "online")  
650.                     fre.panel5.BackColor = Color.SeaGreen;  
651.             }  
652.             red.Dispose();  
653.             cmd.Dispose();  
654.             conn.Close();  
655.             aux.pictureBox1.Visible = false;  
656.             aux.pictureBox2.Visible = false;  
657.             aux.label1.Text = "Cerere aprobată";  
658.             aux.label1.Visible = true;  
659.             fre.Click += F_Click;  
660.             panel12.Controls.Add(fre);  
661.         }  
662.         public void show_msg1(object sender, EventArgs e, Friend_Request aux) 
 
663.         {  
664.             conn.Open();  
665.             MySqlCommand cmd = new MySqlCommand(@"delete from Cerere_prieteni
e where User1=@val1 and User2=@val2", conn);  
666.             cmd.Parameters.AddWithValue("val1", aux.label5.Text);  
667.             cmd.Parameters.AddWithValue("val2", user);  
668.             cmd.ExecuteNonQuery();  
669.             cmd.Dispose();  
670.             conn.Close();  

26
Messaging Cloud

671.             aux.pictureBox1.Visible = false;  
672.             aux.pictureBox2.Visible = false;  
673.             aux.label1.Text = "Cerere aprobată";  
674.             aux.label1.Visible = true;  
675.         }  
676.         private void panel4_Click(object sender, EventArgs e)  
677.         {  
678.             timer1.Stop();  
679.             panel3.Controls.Remove(m);  
680.         }  
681.   
682.         private void pictureBox1_MouseHover(object sender, EventArgs e)  
683.         {  
684.             pictureBox1.BackColor = Color.Crimson;  
685.         }  
686.   
687.         private void pictureBox1_MouseLeave(object sender, EventArgs e)  
688.         {  
689.             pictureBox1.BackColor = Color.FromArgb(25, 34, 41);  
690.         }  
691.   
692.         private void pictureBox2_MouseHover(object sender, EventArgs e)  
693.         {  
694.             pictureBox2.BackColor = Color.FromArgb(53, 64, 77);  
695.         }  
696.   
697.         private void pictureBox2_MouseLeave(object sender, EventArgs e)  
698.         {  
699.             pictureBox2.BackColor = Color.FromArgb(25, 34, 41);  
700.         }  
701.   
702.         private void pictureBox4_MouseHover(object sender, EventArgs e)  
703.         {  
704.             pictureBox4.BackColor = Color.FromArgb(53, 64, 77);  
705.         }  
706.   
707.         private void pictureBox4_MouseLeave(object sender, EventArgs e)  
708.         {  
709.             pictureBox4.BackColor = Color.FromArgb(25, 34, 41);  
710.         }  
711.   
712.         private void label1_MouseHover(object sender, EventArgs e)  
713.         {  
714.             label1.ForeColor = Color.FromArgb(210, 212, 213);  
715.         }  
716.   
717.         private void label1_MouseLeave(object sender, EventArgs e)  
718.         {  
719.             label1.ForeColor = Color.White;  
720.         }  
721.         public Modify me;  
722.         private void pictureBox4_Click_1(object sender, EventArgs e)  
723.         {  
724.             me = new Modify();  
725.             me.user = user;  
726.             me.prev = circularPictureBox1.Image;  
727.             conn.Open();  
728.             MySqlCommand cmd = new MySqlCommand(@"select *from Utilizatori wh
ere User=@val", conn);  
729.             cmd.Parameters.AddWithValue("val", user);  
730.             var red = cmd.ExecuteReader();  
731.             if (red.Read())  
732.             {  
733.                 me.bunifuMaterialTextbox2.HintText = red[1].ToString();  
734.                 if (red[7].ToString() != "")  
735.                     me.bunifuMaterialTextbox3.HintText = red[7].ToString();  

27
Messaging Cloud

736.                 else  
737.                     me.bunifuMaterialTextbox3.HintText = "-";  
738.                 me.bunifuMaterialTextbox4.HintText = red[2].ToString();  
739.                 if (red[8].ToString() != "")  
740.                     me.bunifuMaterialTextbox5.HintText = red[8].ToString();  
741.                 else  
742.                     me.bunifuMaterialTextbox5.HintText = "-";  
743.                 if (red[9].ToString() != "")  
744.                     me.bunifuMaterialTextbox6.HintText = red[9].ToString();  
745.                 else  
746.                     me.bunifuMaterialTextbox6.HintText = "-";  
747.             }  
748.             red.Dispose();  
749.             cmd.Dispose();  
750.             conn.Close();  
751.   
752.             conn.Open();  
753.             cmd = new MySqlCommand(@"select Imagine from Utilizatori where Us
er=@val", conn);  
754.             cmd.Parameters.AddWithValue("val", user);  
755.             red = cmd.ExecuteReader();  
756.             if (red.Read())  
757.             {  
758.                 if (red[0].ToString()!="")  
759.                 {  
760.                     byte[] img = (byte[])red[0];  
761.                     MemoryStream mem = new MemoryStream(img);  
762.                     me.pictureBox2.Image = Image.FromStream(mem);  
763.                 }  
764.             }  
765.             red.Dispose();  
766.             cmd.Dispose();  
767.             conn.Close();  
768.             string[] sir = label7.Text.Split(',');  
769.             me.bunifuMaterialTextbox2.HintText = sir[1];  
770.             me.bunifuThinButton21.Click += BunifuThinButton21_Click;  
771.             me.Show();  
772.              
773.         }  
774.   
775.         private void pictureBox8_Click(object sender, EventArgs e)  
776.         {  
777.             if (bunifuMaterialTextbox2.Text == "")  
778.                 bunifuMaterialTextbox2.Enabled = true;  
779.             else  
780.             {  
781.                 conn.Open();  
782.                 MySqlCommand cmd = new MySqlCommand(@"update Utilizatori set 
Descriere=@val1 where User=@val2", conn);  
783.                 cmd.Parameters.AddWithValue("val1",bunifuMaterialTextbox2.Tex
t);  
784.                 cmd.Parameters.AddWithValue("val2",user);  
785.                 cmd.ExecuteNonQuery();  
786.                 cmd.Dispose();  
787.                 conn.Close();  
788.                 bunifuMaterialTextbox2.HintText = bunifuMaterialTextbox2.Text
;  
789.                 label6.Text = bunifuMaterialTextbox2.Text;  
790.                 bunifuMaterialTextbox2.Enabled = false;  
791.             }  
792.         }  
793.   
794.         private void BunifuThinButton21_Click(object sender, EventArgs e)  
795.         {  
796.             label7.Text = "Bine ai venit, " + me.bunifuMaterialTextbox2.HintT
ext;  

28
Messaging Cloud

797.             label7.Left = (panel3.Width - label7.Size.Width) / 2;  
798.             pictureBox3.Image = me.pictureBox2.Image;  
799.             circularPictureBox1.Image = me.pictureBox2.Image;  
800.         }  
801.   
802.         private void pictureBox1_Click(object sender, EventArgs e)  
803.         {  
804.             timer1.Stop();  
805.             conn.Open();  
806.             MySqlCommand cmd = new MySqlCommand(@"UPDATE `Utilizatori` SET Ul
tima_accesare=@val, Status='offline' where User=@val1", conn);  
807.             cmd.Parameters.AddWithValue("val", DateTime.Now);  
808.             cmd.Parameters.AddWithValue("val1", user);  
809.             cmd.ExecuteNonQuery();  
810.             cmd.Dispose();  
811.             conn.Close();  
812.             Close();  
813.         }  
814.   
815.         private void pictureBox2_Click(object sender, EventArgs e)  
816.         {  
817.             this.WindowState = FormWindowState.Minimized;  
818.         }  
819.     }  
820. }  

29
Messaging Cloud

Eventuale erori

Eventualele erori apar între aplicație și baza de date atunci când baza de date nu răspunde în
timp util. Acest fapt se datorează fie conexiunii la internet, fie serviciului de hosting unde se
află baza de date.

Aceste erori sunt întâmpinate de fereastra de mai jos care închide aplicația, fiind recomandată
redeschiderea acesteia.

Cerințe de sistem

 CPU: Cel puțin 1 GHz


 RAM: 1 GB RAM
 GPU: Intel HD Graphics
 DX: DirectX v9.0 sau mai mare
 OS: Windows XP,7/8.1/10 (32-bit/64-bit)
 Stocare: 10MB
 .NET Framework: Microsoft .NET Framework 4.7.2 (x86 and x64)

30
Messaging Cloud

Bibliografie

https://stackoverflow.com/


 https://www.wikipedia.org/
 https://docs.microsoft.com/ro-ro/dotnet/csharp/

31
Messaging Cloud

Cuprins

Introducere..................................................................................................................................2

Mediile de programare folosite...................................................................................................2

1. Microsoft Visual Studio 2019..........................................................................................2


2. phpMyAdmin...................................................................................................................2
Structura bazei de date................................................................................................................3

Instalarea aplicației.....................................................................................................................4

Fereastra Login...........................................................................................................................5

 Design:.............................................................................................................................5
 Codul sursă:.....................................................................................................................5
 Conturi utilizator existente destinate testelor:..................................................................7
Fereastra Sign Up........................................................................................................................8

 Design:.............................................................................................................................8
 Codul sursă:.....................................................................................................................8
Fereastra principală...................................................................................................................12

 Fereastra de start:...........................................................................................................12
 Fereastra de mesaje:.......................................................................................................13
 Căutare prieteni noi:.......................................................................................................14
 Fereastra Settings...........................................................................................................14
 Fereastra Friend Request................................................................................................14
 Codul sursă - Fereastra principală:................................................................................15
Eventuale erori..........................................................................................................................29

Cerințe de sistem.......................................................................................................................29

Bibliografie...............................................................................................................................30

Cuprins......................................................................................................................................31

32

S-ar putea să vă placă și