· 6 years ago · Mar 18, 2019, 08:50 AM
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 Laboras2
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.Yra();a.Kitas())
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 }
167
168 /// <summary>
169 /// Duomenu paruosimo mygtuko metodas
170 /// </summary>
171 /// <param name="sender"></param>
172 /// <param name="e"></param>
173 protected void ParuostiDuom_Click(object sender, EventArgs e)
174 {
175 MiestasLabel.Visible = true;
176 TarifasLabel.Visible = true;
177 TarifasList.Visible = true;
178 MiestaiList.Visible = true;
179 Vykdyti.Enabled = true;
180 FileUpload1.Visible = false;
181 FileUpload2.Visible = false;
182 btnUpload.Visible = false;
183 MiestaiLabel.Visible = false;
184 VartotojaiLabel.Visible = false;
185 }
186 /// <summary>
187 /// Vartotoju spausdinimo lentele metodas
188 /// </summary>
189 /// <param name="table">Lentele i kuria spausdinama</param>
190 /// <param name="vartotojai">Vartotoju sarasas</param>
191 protected void SpausdintiVartotojusLentele(Table table, VartotojuSarasas vartotojai)
192 {
193 //pavardas vardas numeris miestas paradziamin pradzia val, trukme, suma
194 TableCell pav = new TableCell();
195 TableCell vard = new TableCell();
196 TableCell num = new TableCell();
197 TableCell miestas = new TableCell();
198 TableCell prmin = new TableCell();
199 TableCell prval = new TableCell();
200 TableCell trukm = new TableCell();
201 TableCell sum = new TableCell();
202 TableRow row = new TableRow();
203 pav.Text = "Pavarde";
204 vard.Text = "Vardas";
205 num.Text = "Numeris";
206 miestas.Text = "Miestas";
207 prmin.Text = "Pradzios min";
208 prval.Text = "Pradzios val";
209 trukm.Text = "Trukme";
210 sum.Text = "Viso turi moketi";
211 row.Cells.Add(pav);
212 row.Cells.Add(vard);
213 row.Cells.Add(num);
214 row.Cells.Add(miestas);
215 row.Cells.Add(prmin);
216 row.Cells.Add(prval);
217 row.Cells.Add(trukm);
218 row.Cells.Add(sum);
219 table.Rows.Add(row);
220 for (vartotojai.Pradzia();vartotojai.Yra();vartotojai.Kitas())
221 {
222 TableCell pav1 = new TableCell();
223 TableCell vard1 = new TableCell();
224 TableCell num1 = new TableCell();
225 TableCell miestas1 = new TableCell();
226 TableCell prmin1 = new TableCell();
227 TableCell prval1 = new TableCell();
228 TableCell trukm1 = new TableCell();
229 TableCell sum1 = new TableCell();
230 TableRow row1 = new TableRow();
231 pav1.Text = vartotojai.ImtiDuomenis().Pavarde;
232 vard1.Text = vartotojai.ImtiDuomenis().Vardas;
233 num1.Text = vartotojai.ImtiDuomenis().Numeris;
234 miestas1.Text = vartotojai.ImtiDuomenis().Miestas;
235 prmin1.Text = vartotojai.ImtiDuomenis().PradziaMin.ToString();
236 prval1.Text = vartotojai.ImtiDuomenis().PradziaVal.ToString();
237 trukm1.Text = vartotojai.ImtiDuomenis().Trukme.ToString();
238 sum1.Text = vartotojai.ImtiDuomenis().Suma.ToString();
239 row1.Cells.Add(pav1);
240 row1.Cells.Add(vard1);
241 row1.Cells.Add(num1);
242 row1.Cells.Add(miestas1);
243 row1.Cells.Add(prmin1);
244 row1.Cells.Add(prval1);
245 row1.Cells.Add(trukm1);
246 row1.Cells.Add(sum1);
247 table.Rows.Add(row1);
248 }
249 table.Visible = true;
250 }
251 /// <summary>
252 /// Miestu spausdinimo lentele metodas
253 /// </summary>
254 /// <param name="table">Lentele i kuria spausdinama</param>
255 /// <param name="miestai">Spausdinamu miestu sarasas</param>
256 protected void SpausdintiMiestusLentele(Table table, MiestuSarasas miestai)
257 {
258 //pavadinimas kaina diena naktis
259 TableCell pav = new TableCell();
260 TableCell kaina = new TableCell();
261 TableCell diena = new TableCell();
262 TableCell nakti = new TableCell();
263 pav.Text = "Pavadinimas";
264 kaina.Text = "Sujungimas";
265 diena.Text = "Kaina diena";
266 nakti.Text = "Kaina nakti";
267 TableRow row = new TableRow();
268 row.Cells.Add(pav);
269 row.Cells.Add(kaina);
270 row.Cells.Add(diena);
271 row.Cells.Add(nakti);
272 table.Rows.Add(row);
273 for(miestai.Pradzia(); miestai.Yra(); miestai.Kitas())
274 {
275 pav = new TableCell();
276 kaina = new TableCell();
277 diena = new TableCell();
278 nakti = new TableCell();
279 pav.Text = miestai.ImtiDuomenis().Pavadinimas;
280 kaina.Text = miestai.ImtiDuomenis().Kaina.ToString();
281 diena.Text = miestai.ImtiDuomenis().Diena.ToString();
282 nakti.Text = miestai.ImtiDuomenis().Naktis.ToString();
283 row = new TableRow();
284 row.Cells.Add(pav);
285 row.Cells.Add(kaina);
286 row.Cells.Add(diena);
287 row.Cells.Add(nakti);
288 table.Rows.Add(row);
289 }
290 table.Visible = true;
291 }
292 /// <summary>
293 /// Spausdina vartotojus i .txt faila
294 /// </summary>
295 /// <param name="filePath">Failo trajektorija</param>
296 /// <param name="var">Vartotoju duomenu sarasas</param>
297 protected void SpausdintiVartotojustxt(string filePath, VartotojuSarasas var)
298 {
299 string antraste = string.Format("{0,-10}|{1,-15}|{2,15}|{3,10}|{4,12}|{5,12}|{6,10}|{7,10}|",
300 "Pavarde", "Vardas", "Numeris", "Miestas", "Pradzios min", "Pradzios val", "Trukme", "Suma");
301 string eil = "------------------------------------------------------------------------------------------------------";
302 using (var writer =File.AppendText(filePath))
303 {
304 writer.WriteLine(eil);
305 writer.WriteLine(antraste);
306 writer.WriteLine(eil);
307 for (var.Pradzia(); var.Yra(); var.Kitas())
308 {
309 writer.WriteLine(var.ImtiDuomenis().ToString());
310 }
311 writer.WriteLine(eil);
312 writer.WriteLine("");
313 }
314 }
315 /// <summary>
316 /// Spausdinta miestus lentele i .txt faila
317 /// </summary>
318 /// <param name="filePath">Failo trajektorija</param>
319 /// <param name="var">Miestu sarasas</param>
320 protected void SpausdintiMiestustxt(string filePath, MiestuSarasas var)
321 {
322 string antraste = string.Format("|{0,15}|{1,10}|{2,10}|{3,10}|", "Pavadinimas", "Sujungimas", "Diena", "Naktis");
323 string eil = "-------------------------------------------------";
324 using (var writer = File.AppendText(filePath))
325 {
326 writer.WriteLine(eil);
327 writer.WriteLine(antraste);
328 writer.WriteLine(eil);
329 for (var.Pradzia(); var.Yra(); var.Kitas())
330 {
331 writer.WriteLine(var.ImtiDuomenis().ToString());
332 }
333 writer.WriteLine(eil);
334 writer.WriteLine("");
335 }
336 }
337 /// <summary>
338 /// Pasirinkti kituos duomenis mygtuko metodas
339 /// Is naujo perkrauna puslapi
340 /// </summary>
341 /// <param name="sender"></param>
342 /// <param name="e"></param>
343 protected void KitiDuomButton_Click(object sender, EventArgs e)
344 {
345 Response.Redirect(Request.RawUrl);
346 }
347 }
348}