Advertisement
DamoVFR

Untitled

Mar 26th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.33 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. using System.Xml.Serialization;
  8.  
  9. namespace zadanie_2
  10. {
  11.  
  12.     class Program
  13.     {
  14.         static void Main(string[] args)
  15.         {
  16.             String sciezka = "C:\\Users\\Damian\\Documents\\Visual Studio 2015\\Projects\\zadanie 2\\zadanie 2\\Plik.txt";
  17.             String sciezkaXML = "C:\\Users\\Damian\\Documents\\Visual Studio 2015\\Projects\\zadanie 2\\zadanie 2\\plikXML.xml";
  18.             String text = "";
  19.             bool flag = true;
  20.             int i = 0;
  21.             Kartoteka<Pracownik> kart1 = new Kartoteka<Pracownik>();
  22.  
  23.             for (i = 0; flag == true; i++)
  24.             {
  25.                 Console.WriteLine("Podaj imie");
  26.                 String imieTemp = Console.ReadLine();
  27.  
  28.                 Console.WriteLine("Podaj nazwisko");
  29.                 String nazwiskoTemp = Console.ReadLine();
  30.  
  31.                 Console.WriteLine("Podaj wynagrodzenie");
  32.                 int wynagrodzenieTemp = int.Parse(Console.ReadLine());
  33.  
  34.                 Console.WriteLine("Podaj lata pracy");
  35.                 int lata_pracyTemp = int.Parse(Console.ReadLine());
  36.  
  37.                 Console.WriteLine("Podaj stanowisko");
  38.                 String stanowiskoTemp = Console.ReadLine();
  39.  
  40.                 kart1.AddPracownik(new Pracownik { imie = imieTemp, nazwisko = nazwiskoTemp, wynagrodzenie = wynagrodzenieTemp, lata_pracy = lata_pracyTemp, stanowisko = stanowiskoTemp });
  41.  
  42.                 Console.WriteLine("Czy dodać następnego pracownika T/N");
  43.                 String temp1 = Console.ReadLine();
  44.                 if (temp1 == "N" || temp1 == "n")
  45.                 {
  46.                     flag = false;
  47.                 }
  48.             }
  49.  
  50.             show(i, kart1);
  51.             saveTXT(sciezka, text, i, kart1);
  52.             readTXT(sciezka);
  53.  
  54.             writeXML(sciezkaXML, kart1);
  55.             Kartoteka<Pracownik> kartotekaXML = writeXML(sciezkaXML);
  56.             show(i, kartotekaXML);
  57.  
  58.             Console.ReadKey();
  59.         }
  60.  
  61.         private static Kartoteka<Pracownik> writeXML(string sciezkaXML)
  62.         {
  63.             StreamReader streamRd = new StreamReader(sciezkaXML);
  64.             XmlSerializer serializer = new XmlSerializer(typeof(Kartoteka<Pracownik>));
  65.             Kartoteka<Pracownik> kartotekaXML = (Kartoteka<Pracownik>)serializer.Deserialize(streamRd);
  66.             streamRd.Close();
  67.             return kartotekaXML;
  68.         }
  69.  
  70.         private static void writeXML(string sciezkaXML, Kartoteka<Pracownik> kart1)
  71.         {
  72.             StreamWriter streamWr = new StreamWriter(sciezkaXML);
  73.             XmlSerializer serializer = new XmlSerializer(typeof(Kartoteka<Pracownik>));
  74.             serializer.Serialize(streamWr, kart1);
  75.             streamWr.Flush();
  76.             streamWr.Close();
  77.         }
  78.  
  79.  
  80.  
  81.         public static void readTXT(string sciezka)
  82.         {
  83.             Console.WriteLine("Czy odczytac plik TXT? T/N");
  84.             String temp_answer = Console.ReadLine();
  85.             if (temp_answer == "T" || temp_answer == "t")
  86.             {
  87.                 FileInfo plik = new FileInfo(sciezka);
  88.                 StreamReader reader = null;
  89.  
  90.                 try
  91.                 {
  92.                     reader = plik.OpenText();
  93.                     String zawartosc_pliku = reader.ReadToEnd();
  94.                     Console.WriteLine("-------------zawartosc pliku-------------");
  95.                     Console.WriteLine(zawartosc_pliku);
  96.                 }
  97.                 catch (IOException ioe)
  98.                 {
  99.                     Console.WriteLine("błąd w odczycie" + ioe.StackTrace);
  100.                 }
  101.                 finally
  102.                 {
  103.                     if (reader != null)
  104.                     {
  105.                         reader.Close();
  106.                     }
  107.                 }
  108.             }
  109.         }
  110.  
  111.         public static void show(int i, Kartoteka<Pracownik> kart1)
  112.         {
  113.             Console.WriteLine("Czy chcesz wyswietlic kartoteke? T/N");
  114.             String temp_answer = Console.ReadLine();
  115.             if (temp_answer == "T" || temp_answer == "t")
  116.             {
  117.                 for (int j = 0; j < i; j++)
  118.                 {
  119.                     Console.WriteLine("imie: " + kart1.getPracownik(j).imie + " " + "nawzisko: " + kart1.getPracownik(j).nazwisko);
  120.                 }
  121.             }
  122.         }
  123.  
  124.         private static void saveTXT(string sciezka, String text, int i, Kartoteka<Pracownik> kart1)
  125.         {
  126.             FileInfo plik = new FileInfo(sciezka);
  127.             StreamWriter writer = null;
  128.  
  129.             for (int j = 0; j < i; j++)
  130.             {
  131.                 try
  132.                 {
  133.                     writer = plik.AppendText();
  134.                     writer.WriteLine(kart1.getPracownik(j).imie + " " + kart1.getPracownik(j).nazwisko);
  135.                 }
  136.                 catch (IOException ioe)
  137.                 {
  138.                     Console.WriteLine("błąd w zapisie" + ioe.StackTrace);
  139.                 }
  140.                 finally
  141.                 {
  142.                     if (writer != null)
  143.                         writer.Close();
  144.                 }
  145.             }
  146.                
  147.         }
  148.     }
  149.  
  150.     public class Pracownik
  151.     {
  152.         public String imie { get; set; }
  153.         public String nazwisko { get; set; }
  154.         public int wynagrodzenie { get; set; }
  155.         public int lata_pracy { get; set; }
  156.         public String stanowisko { get; set; }
  157.     }
  158.  
  159.  
  160.     public class Kartoteka<T> where T : class
  161.     {
  162.         public List<T> lista = new List<T>();
  163.  
  164.         public void AddPracownik (T o)
  165.         {
  166.             lista.Add(o);
  167.         }
  168.  
  169.         public T getPracownik(int index)
  170.         {
  171.            return lista[index];
  172.         }
  173.  
  174.     }
  175.  
  176.     abstract class Builder  // wzorzec projektowy budowniczy - niedokończone
  177.     {
  178.         protected Pracownik pracownik;
  179.  
  180.         public void newPracownik()
  181.         {
  182.             pracownik = new Pracownik();
  183.         }
  184.  
  185.         public Pracownik getPracownik()
  186.         {
  187.             return pracownik;
  188.         }
  189.  
  190.         public abstract void buildName();
  191.         public abstract void buildSurname();
  192.         public abstract void buildWynagrodzenie();
  193.         public abstract void buildLata_pracy();
  194.         public abstract void buildStanowisko();
  195.     }
  196.  
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement