· 6 years ago · Apr 08, 2019, 06:22 PM
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Web;
5using System.Web.UI;
6using System.Web.UI.WebControls;
7using System.IO;
8
9namespace Laboras3
10{
11 public partial class WebForm1 : System.Web.UI.Page
12 {
13 private VartotojuSarasas Vartotojai;
14 private MiestuSarasas Miestai;
15 /// <summary>
16 /// Vykdomas per nauja puslapio uzkrovima
17 /// </summary>
18 /// <param name="sender"></param>
19 /// <param name="e"></param>
20 protected void Page_Load(object sender, EventArgs e)
21 {
22 Vartotojai = (VartotojuSarasas)Session["vartotojai"];
23 Miestai = (MiestuSarasas)Session["miestai"];
24 }
25 /// <summary>
26 /// Failo ikelimo mygtuko metodas
27 /// </summary>
28 /// <param name="sender"></param>
29 /// <param name="e"></param>
30 protected void UploadFile(object sender, EventArgs e)
31 {
32 string folderPath = Server.MapPath("~/Files/");
33 if (IkeltiMiestus()&&IkeltiVartotojus())
34 {
35 UploadMsg.Visible = true;
36 Vartotojai = new VartotojuSarasas();
37 SkaitytiVartotojus(folderPath + FileUpload1.FileName, Vartotojai);
38 Miestai = new MiestuSarasas();
39 SkaitytiMiestus(folderPath + FileUpload2.FileName, Miestai);
40 Vartotojai.RastiSumas(Miestai);
41 Session["vartotojai"] = Vartotojai;
42 Session["miestai"] = Miestai;
43 SpausdintiMiestusListui(Miestai, Server.MapPath("~/App_Data/"+"MiestaiPav.xml"));
44 ParuostiDuom.Enabled = true;
45 XmlDataSource1.DataBind();
46 MiestaiList.DataBind();
47 }
48 }
49 /// <summary>
50 /// Vartotoju duomenu skaitymo metodas
51 /// </summary>
52 /// <param name="filepath">Failo trahejtiruha</param>
53 /// <param name="vartotojai">Vartotoju sarasas</param>
54 protected void SkaitytiVartotojus(string filepath, VartotojuSarasas vartotojai)
55 {
56 string[] lines = File.ReadAllLines(filepath);
57 for (int i=0; i<lines.Length;i++)
58 {
59 string[] line = lines[i].Split(' ');
60 Vartotojas var = new Vartotojas(line[0], line[1], line[2], line[3], int.Parse(line[4]), int.Parse(line[5]), int.Parse(line[6]));
61 vartotojai.DetiPabaiga(var);
62 }
63 }
64 /// <summary>
65 /// Miestu duomenu skaitymo metodas
66 /// </summary>
67 /// <param name="filepath">Failo trajektorija</param>
68 /// <param name="miestai">Miestu duomenu sarasas</param>
69 protected void SkaitytiMiestus(string filepath, MiestuSarasas miestai)
70 {
71 string[] lines = File.ReadAllLines(filepath);
72 for (int i = 0; i < lines.Length; i++)
73 {
74 string[] line = lines[i].Split(' ');
75 Miestas miestas = new Miestas(line[0], int.Parse(line[1]), int.Parse(line[2]), int.Parse(line[3]));
76 miestai.DetiPabaiga(miestas);
77 }
78 }
79 /// <summary>
80 /// Ikeliu vartotojus i Files is kurio bus skaitomi duomenys
81 /// </summary>
82 /// <returns></returns>
83 protected bool IkeltiVartotojus()
84 {
85 string folderPath = Server.MapPath("~/Files/");
86
87 //Check whether Directory (Folder) exists.
88 if (!Directory.Exists(folderPath))
89 {
90 //If Directory (Folder) does not exists. Create it.
91 Directory.CreateDirectory(folderPath);
92 }
93
94 //Save the File to the Directory (Folder).
95 HttpPostedFile postedFile = Request.Files["FileUpload1"];
96 if (postedFile != null && postedFile.ContentLength > 0 && postedFile.FileName.EndsWith(".txt"))
97 {
98 postedFile.SaveAs(folderPath + Path.GetFileName(postedFile.FileName));
99 return true;
100 }
101 return false;
102 }
103 /// <summary>
104 /// Ikeliu miestus i Files is kurio bus skaitomi duomenys
105 /// </summary>
106 /// <returns></returns>
107 protected bool IkeltiMiestus()
108 {
109 string folderPath = Server.MapPath("~/Files/");
110
111 //Check whether Directory (Folder) exists.
112 if (!Directory.Exists(folderPath))
113 {
114 //If Directory (Folder) does not exists. Create it.
115 Directory.CreateDirectory(folderPath);
116 }
117
118 //Save the File to the Directory (Folder).
119 HttpPostedFile postedFile = Request.Files["FileUpload2"];
120 if (postedFile != null && postedFile.ContentLength > 0 && postedFile.FileName.EndsWith(".txt"))
121 {
122 postedFile.SaveAs(folderPath + Path.GetFileName(postedFile.FileName));
123 return true;
124 }
125 return false;
126 }
127 /// <summary>
128 /// Isspausdina miestu sarasa .xml formatu
129 /// </summary>
130 /// <param name="a">Miestu sarasas</param>
131 /// <param name="filepath">Failo trajektorija</param>
132 protected void SpausdintiMiestusListui(MiestuSarasas a, string filepath)
133 {
134 using (var writer = new StreamWriter(filepath))
135 {
136 writer.WriteLine("<?xml version = \"1.0\" encoding =\"utf-8\" ?>");
137 writer.WriteLine("<miestai>");
138 for (a.Pradzia();a.YraDesine();a.KitasDesine())
139 {
140 writer.WriteLine(" <miestas pavadinimas = \"{0}\" />", a.ImtiDuomenis().Pavadinimas);
141
142 }
143 writer.WriteLine("</miestai>");
144 }
145 }
146 /// <summary>
147 /// Duomenu apdorojimo mygtuko metodas
148 /// </summary>
149 /// <param name="sender"></param>
150 /// <param name="e"></param>
151 protected void Vykdyti_Click(object sender, EventArgs e)
152 {
153 VartotojuSarasas atrinktiVidurkiai = Vartotojai.AtrinktiPagalVidurkiai();
154 VartotojuSarasas atrinkti = Vartotojai.AtrinktiPasirinktus(MiestaiList.SelectedItem.Text, TarifasList.SelectedItem.Text);
155 SpausdintiVartotojusLentele(PradiniaiDuom, Vartotojai);
156 atrinktiVidurkiai.Rikiuoti();
157 atrinkti.Rikiuoti();
158 SpausdintiVartotojusLentele(AtsVidurkiai, atrinktiVidurkiai);
159 SpausdintiVartotojusLentele(AtsAtrinkti, atrinkti);
160 SpausdintiMiestusLentele(PradiniaiDuom1, Miestai);
161 SpausdintiVartotojustxt(Server.MapPath("~/Files/PradiniaiDuom.txt"), Vartotojai);
162 SpausdintiVartotojustxt(Server.MapPath("~/Files/Rezultatai.txt"), atrinktiVidurkiai);
163 SpausdintiVartotojustxt(Server.MapPath("~/Files/Rezultatai.txt"), atrinkti);
164 SpausdintiMiestustxt(Server.MapPath("~/Files/PradiniaiDuom.txt"), Miestai);
165 KitiDuomButton.Visible = true;
166 atrinkti.Naikinti();
167
168 }
169
170 /// <summary>
171 /// Duomenu paruosimo mygtuko metodas
172 /// </summary>
173 /// <param name="sender"></param>
174 /// <param name="e"></param>
175 protected void ParuostiDuom_Click(object sender, EventArgs e)
176 {
177 MiestasLabel.Visible = true;
178 TarifasLabel.Visible = true;
179 TarifasList.Visible = true;
180 MiestaiList.Visible = true;
181 Vykdyti.Enabled = true;
182 FileUpload1.Visible = false;
183 FileUpload2.Visible = false;
184 btnUpload.Visible = false;
185 MiestaiLabel.Visible = false;
186 VartotojaiLabel.Visible = false;
187 }
188 /// <summary>
189 /// Vartotoju spausdinimo lentele metodas
190 /// </summary>
191 /// <param name="table">Lentele i kuria spausdinama</param>
192 /// <param name="vartotojai">Vartotoju sarasas</param>
193 protected void SpausdintiVartotojusLentele(Table table, VartotojuSarasas vartotojai)
194 {
195 //pavardas vardas numeris miestas paradziamin pradzia val, trukme, suma
196 TableCell pav = new TableCell();
197 TableCell vard = new TableCell();
198 TableCell num = new TableCell();
199 TableCell miestas = new TableCell();
200 TableCell prmin = new TableCell();
201 TableCell prval = new TableCell();
202 TableCell trukm = new TableCell();
203 TableCell sum = new TableCell();
204 TableRow row = new TableRow();
205 pav.Text = "Pavarde";
206 vard.Text = "Vardas";
207 num.Text = "Numeris";
208 miestas.Text = "Miestas";
209 prmin.Text = "Pradzios min";
210 prval.Text = "Pradzios val";
211 trukm.Text = "Trukme";
212 sum.Text = "Viso turi moketi";
213 row.Cells.Add(pav);
214 row.Cells.Add(vard);
215 row.Cells.Add(num);
216 row.Cells.Add(miestas);
217 row.Cells.Add(prmin);
218 row.Cells.Add(prval);
219 row.Cells.Add(trukm);
220 row.Cells.Add(sum);
221 table.Rows.Add(row);
222 for (vartotojai.Pradzia();vartotojai.YraDesine();vartotojai.KitasDes())
223 {
224 TableCell pav1 = new TableCell();
225 TableCell vard1 = new TableCell();
226 TableCell num1 = new TableCell();
227 TableCell miestas1 = new TableCell();
228 TableCell prmin1 = new TableCell();
229 TableCell prval1 = new TableCell();
230 TableCell trukm1 = new TableCell();
231 TableCell sum1 = new TableCell();
232 TableRow row1 = new TableRow();
233 pav1.Text = vartotojai.ImtiDuomenis().Pavarde;
234 vard1.Text = vartotojai.ImtiDuomenis().Vardas;
235 num1.Text = vartotojai.ImtiDuomenis().Numeris;
236 miestas1.Text = vartotojai.ImtiDuomenis().Miestas;
237 prmin1.Text = vartotojai.ImtiDuomenis().PradziaMin.ToString();
238 prval1.Text = vartotojai.ImtiDuomenis().PradziaVal.ToString();
239 trukm1.Text = vartotojai.ImtiDuomenis().Trukme.ToString();
240 sum1.Text = vartotojai.ImtiDuomenis().Suma.ToString();
241 row1.Cells.Add(pav1);
242 row1.Cells.Add(vard1);
243 row1.Cells.Add(num1);
244 row1.Cells.Add(miestas1);
245 row1.Cells.Add(prmin1);
246 row1.Cells.Add(prval1);
247 row1.Cells.Add(trukm1);
248 row1.Cells.Add(sum1);
249 table.Rows.Add(row1);
250 }
251 table.Visible = true;
252 }
253 /// <summary>
254 /// Miestu spausdinimo lentele metodas
255 /// </summary>
256 /// <param name="table">Lentele i kuria spausdinama</param>
257 /// <param name="miestai">Spausdinamu miestu sarasas</param>
258 protected void SpausdintiMiestusLentele(Table table, MiestuSarasas miestai)
259 {
260 //pavadinimas kaina diena naktis
261 TableCell pav = new TableCell();
262 TableCell kaina = new TableCell();
263 TableCell diena = new TableCell();
264 TableCell nakti = new TableCell();
265 pav.Text = "Pavadinimas";
266 kaina.Text = "Sujungimas";
267 diena.Text = "Kaina diena";
268 nakti.Text = "Kaina nakti";
269 TableRow row = new TableRow();
270 row.Cells.Add(pav);
271 row.Cells.Add(kaina);
272 row.Cells.Add(diena);
273 row.Cells.Add(nakti);
274 table.Rows.Add(row);
275 for(miestai.Pradzia(); miestai.YraDesine(); miestai.KitasDesine())
276 {
277 pav = new TableCell();
278 kaina = new TableCell();
279 diena = new TableCell();
280 nakti = new TableCell();
281 pav.Text = miestai.ImtiDuomenis().Pavadinimas;
282 kaina.Text = miestai.ImtiDuomenis().Kaina.ToString();
283 diena.Text = miestai.ImtiDuomenis().Diena.ToString();
284 nakti.Text = miestai.ImtiDuomenis().Naktis.ToString();
285 row = new TableRow();
286 row.Cells.Add(pav);
287 row.Cells.Add(kaina);
288 row.Cells.Add(diena);
289 row.Cells.Add(nakti);
290 table.Rows.Add(row);
291 }
292 table.Visible = true;
293 }
294 /// <summary>
295 /// Spausdina vartotojus i .txt faila
296 /// </summary>
297 /// <param name="filePath">Failo trajektorija</param>
298 /// <param name="var">Vartotoju duomenu sarasas</param>
299 protected void SpausdintiVartotojustxt(string filePath, VartotojuSarasas var)
300 {
301 string antraste = string.Format("{0,-10}|{1,-15}|{2,15}|{3,10}|{4,12}|{5,12}|{6,10}|{7,10}|",
302 "Pavarde", "Vardas", "Numeris", "Miestas", "Pradzios min", "Pradzios val", "Trukme", "Suma");
303 string eil = "------------------------------------------------------------------------------------------------------";
304 using (var writer =File.AppendText(filePath))
305 {
306 writer.WriteLine(eil);
307 writer.WriteLine(antraste);
308 writer.WriteLine(eil);
309 foreach (var vartotojas in var)
310 {
311 writer.WriteLine(vartotojas.ToString());
312 }
313 writer.WriteLine(eil);
314 writer.WriteLine("");
315 }
316 }
317 /// <summary>
318 /// Spausdinta miestus lentele i .txt faila
319 /// </summary>
320 /// <param name="filePath">Failo trajektorija</param>
321 /// <param name="var">Miestu sarasas</param>
322 protected void SpausdintiMiestustxt(string filePath, MiestuSarasas var)
323 {
324 string antraste = string.Format("|{0,15}|{1,10}|{2,10}|{3,10}|", "Pavadinimas", "Sujungimas", "Diena", "Naktis");
325 string eil = "-------------------------------------------------";
326 using (var writer = File.AppendText(filePath))
327 {
328 writer.WriteLine(eil);
329 writer.WriteLine(antraste);
330 writer.WriteLine(eil);
331 foreach(var a in var)
332 {
333 writer.WriteLine(a.ToString());
334 }
335 writer.WriteLine(eil);
336 writer.WriteLine("");
337 }
338 }
339 /// <summary>
340 /// Pasirinkti kituos duomenis mygtuko metodas
341 /// Is naujo perkrauna puslapi
342 /// </summary>
343 /// <param name="sender"></param>
344 /// <param name="e"></param>
345 protected void KitiDuomButton_Click(object sender, EventArgs e)
346 {
347 Response.Redirect(Request.RawUrl);
348 }
349 }
350}