Ejemplo n.º 1
0
        private void task1_Click(object sender, EventArgs e)
        {
            var path = readTextBox.Text;

            if (!File.Exists(path))
            {
                MessageBox.Show("File doesn't exist. Cannot proceed");
                return;
            }

            var lines = File.ReadAllLines(path).Skip(1);

            var expences = new List <Expences>();

            foreach (var line in lines)
            {
                var split    = line.Split('|');
                var date     = DateTime.ParseExact(split[0], "yyyy-MM-dd", null);
                var price    = Convert.ToDecimal(split[1]);
                var category = split[2];

                var expence = new Expences(date, price, category);
                expences.Add(expence);
            }

            var catnum = expences
                         .Select(x => x.Category).Distinct().Count();

            var total = expences
                        .Select(x => x.Price).Sum();

            showTextBox.Text += $"The number of categories: {catnum}, total expences = {total}";
        }
Ejemplo n.º 2
0
        private void task3_Click(object sender, EventArgs e)
        {
            var path = readTextBox.Text;

            if (!File.Exists(path))
            {
                MessageBox.Show("File doesn't exist. Cannot proceed");
                return;
            }

            var lines = File.ReadAllLines(path).Skip(1);

            var expences = new List <Expences>();

            foreach (var line in lines)
            {
                var split    = line.Split('|');
                var date     = DateTime.ParseExact(split[0], "yyyy-MM-dd", null);
                var price    = Convert.ToDecimal(split[1]);
                var category = split[2];

                var expence = new Expences(date, price, category);
                expences.Add(expence);
            }

            var catnum = expences
                         .Select(x => x.Category).Distinct().Count();

            var total = expences
                        .Select(x => x.Price).Sum();

            IEnumerable <string> cats = expences
                                        .Select(x => x.Category).Distinct();

            var excat = expences
                        .GroupBy(x => x.Category)
                        .Select(x => $"{x.Key}: {x.Sum(y => y.Price)}");

            showTextBox.Text = string.Join("\r\n", excat);

            showTextBox.Text += $"\r\nNumber of categories: {catnum}, total expences = {total}";

            showTextBox.Text += $"\r\nCategories: ";
            foreach (var cat in cats)
            {
                showTextBox.Text += $"{cat}, ";
            }
        }