Esempio n. 1
0
        public static void Write(PaymentAccount acount, string path)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(PaymentAccount));

            using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
            {
                serializer.Serialize(fs, acount);
            }
        }
Esempio n. 2
0
        public static PaymentAccount Read(string path)
        {
            PaymentAccount acount     = null;
            XmlSerializer  serializer = new XmlSerializer(typeof(PaymentAccount));

            using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read))
            {
                acount = (serializer.Deserialize(fs) as PaymentAccount);
            }
            if (PaymentAccount.IsCalculate)
            {
                acount.Calculate();
            }

            return(acount);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            // створюєм клас оплати з обовязковими даними
            PaymentAccount account = new PaymentAccount()
            {
                PaymentPerDay = 15, NumOfDay = 30, FinePerDay = 5, DaysOfDelay = 3
            };

            DoSerialize.Write(account, "Pay.xml");                      // записуємо клас в файл
            PaymentAccount.IsCalculate = true;                          // задаєм змінну для обрахунку (вона і так була true, але перестраховуємося)
            PaymentAccount new1Account = DoSerialize.Read("Pay.xml");   // зчитуємо клас з файлу з обрахунками

            View.Show(new1Account);                                     // дивимся акаунт з обрахунками


            PaymentAccount.IsCalculate = false;                         // обрахунок false
            PaymentAccount new2Account = DoSerialize.Read("Pay.xml");   // зчитуємо клас з файлу без обрахунків

            View.Show(new2Account);                                     // виводим без обрахунків

            Console.ReadKey();
        }
Esempio n. 4
0
        public static void Show(PaymentAccount account)
        {
            if (PaymentAccount.IsCalculate)
            {
                Console.WriteLine("\nЗ обрахунками");
            }
            else
            {
                Console.WriteLine("\nБез обрахункiв");
            }

            Console.WriteLine
            (
                $"Денна оплата    {account.PaymentPerDay}\n" +
                $"Кiлькiсть днiв  {account.NumOfDay}\n" +
                $"Штраф за день   {account.FinePerDay}\n" +
                $"Кi-ть штрафних  {account.DaysOfDelay}\n" +
                $"Оплата без штр. {account.AmountDue}\n" +
                $"Штрафи          {account.Fine}\n" +
                $"Загальна оплата {account.Total}"
            );
        }