Ejemplo n.º 1
0
        private void Clear_Click(object sender, EventArgs e)
        {
            DialogResult Result = MessageBox.Show("Вы действительно хотите очистить планирование счёта?", "Подтвердите действие", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (Result == DialogResult.Yes)
            {
                StreamWriter sw = new StreamWriter(@"PlanningList.txt", false);
                sw.WriteLine("0");
                sw.Close();

                PlanningList.Clear();

                n = 0;
            }
        }
Ejemplo n.º 2
0
        public Planning_Screen()
        {
            InitializeComponent();
            StreamReader sr = null;

            try
            {
                sr      = new StreamReader(@"CurrentStateList.txt");
                account = float.Parse(sr.ReadLine());
                sr.Close();
            }
            catch
            {
                MessageBox.Show("Произошла ошибка при загрузке данных. Текущее состояние счёта будет очищено, приложение перезагружено.",
                                "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                StreamWriter sw = new StreamWriter(@"CurrentStateList.txt", false);
                sw.Write("");
                sw.Close();
                Application.Restart();
            }

            Today.Text   = DateTime.Today.ToShortDateString();
            Account.Text = Math.Round(account, 2).ToString() + " руб.";
            Date.MinDate = DateTime.Today;


            try
            {
                sr = new StreamReader(@"PlanningList.txt");
            }
            catch
            {
                FileStream   fs = File.Create(@"PlanningList.txt");
                StreamWriter sw = new StreamWriter(fs);
                sw.WriteLine("0");
                sw.Close();
                fs.Close();

                sr = new StreamReader(@"PlanningList.txt");
            }

            if (!int.TryParse(sr.ReadLine(), out n))
            {
                return;
            }
            PlanningRecord = new Planning_Record[n];
            for (int i = 0; i < n; i++)
            {
                PlanningRecord[i] = new Planning_Record();
                if (!PlanningRecord[i].Read(sr))
                {
                    MessageBox.Show("Произошла ошибка при загрузке данных. " +
                                    "Планирование счёта будет очищено.", "Ошибка",
                                    MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    sr.Close();

                    StreamWriter sw = new StreamWriter(@"PlanningList.txt", false);
                    sw.WriteLine("0");
                    sw.Close();

                    //for (int j = PlanningList.Items.Count - 1; i > 0; i--)
                    //   PlanningList.Items[i].Remove();
                    PlanningList.Clear();
                    n = 0;
                    return;
                }

                PlanningList.Items.Add(PlanningRecord[i].GetCategory);
                PlanningList.Items[PlanningList.Items.Count - 1].Font = new Font("Century Gothic", 10, FontStyle.Bold);

                string amount = PlanningRecord[i].GetIncrease ? "+" : "-";
                amount += PlanningRecord[i].GetAmount + " руб.";
                PlanningList.Items.Add(amount);
                PlanningList.Items[PlanningList.Items.Count - 1].Font      = new Font("Century Gothic", 15, FontStyle.Bold);
                PlanningList.Items[PlanningList.Items.Count - 1].ForeColor = PlanningRecord[i].GetIncrease ?
                                                                             Color.FromArgb(0, 142, 63) : Color.FromArgb(144, 12, 10); //зеленый : красный
                PlanningList.Items[PlanningList.Items.Count - 1].UseItemStyleForSubItems = false;


                //для правильного окончания слов "раз" и "день"
                string result = "";
                string temp   = PlanningRecord[i].GetTimes.ToString();
                if (temp == "11" || temp == "12" || temp == "13" || temp == "14")
                {
                    result = temp + " раз в ";
                }
                else if (temp[temp.Length - 1] == '2' || temp[temp.Length - 1] == '3' || temp[temp.Length - 1] == '4')
                {
                    result = temp + " раза в ";
                }
                else
                {
                    result = temp + " раз в ";
                }
                temp = PlanningRecord[i].GetDays.ToString();
                if (temp == "1")
                {
                    result += "день";
                }
                else if (temp == "11" || temp == "12" || temp == "13" || temp == "14")
                {
                    result += temp + " дней";
                }
                else
                {
                    switch (temp[temp.Length - 1])
                    {
                    case '1':
                        result += temp + " день";
                        break;

                    case '2':
                        result += temp + " дня";
                        break;

                    case '3':
                        result += temp + " дня";
                        break;

                    case '4':
                        result += temp + " дня";
                        break;

                    default:
                        result += temp + " дней";
                        break;
                    }
                }
                PlanningList.Items[PlanningList.Items.Count - 1].SubItems.Add(result);

                PlanningList.Items.Add(PlanningRecord[i].GetComment);
                PlanningList.Items[PlanningList.Items.Count - 1].Font = new Font("Century Gothic", 10);
            }
            sr.Close();
        }